File tree 2 files changed +24
-3
lines changed
2 files changed +24
-3
lines changed Original file line number Diff line number Diff line change @@ -2894,9 +2894,14 @@ public virtual bool OnMouseEvent (MouseEvent mouseEvent)
2894
2894
return false ;
2895
2895
}
2896
2896
2897
- var args = new MouseEventArgs ( mouseEvent ) ;
2898
- if ( OnMouseClick ( args ) )
2899
- return true ;
2897
+ if ( ( mouseEvent . Flags & MouseFlags . Button1Clicked ) != 0 || ( mouseEvent . Flags & MouseFlags . Button2Clicked ) != 0
2898
+ || ( mouseEvent . Flags & MouseFlags . Button3Clicked ) != 0 || ( mouseEvent . Flags & MouseFlags . Button4Clicked ) != 0 ) {
2899
+
2900
+ var args = new MouseEventArgs ( mouseEvent ) ;
2901
+ if ( OnMouseClick ( args ) ) {
2902
+ return true ;
2903
+ }
2904
+ }
2900
2905
if ( MouseEvent ( mouseEvent ) )
2901
2906
return true ;
2902
2907
Original file line number Diff line number Diff line change @@ -4581,5 +4581,21 @@ public void View_Instance_Use_Attribute_Normal_On_Draw ()
4581
4581
011110
4582
4582
000000" , new Attribute [ ] { Colors . TopLevel . Normal , Colors . TopLevel . Focus } ) ;
4583
4583
}
4584
+
4585
+ [ Theory ]
4586
+ [ InlineData ( MouseFlags . Button1Pressed , MouseFlags . Button1Released , MouseFlags . Button1Clicked ) ]
4587
+ [ InlineData ( MouseFlags . Button1Pressed | MouseFlags . ButtonCtrl , MouseFlags . Button1Released | MouseFlags . ButtonCtrl , MouseFlags . Button1Clicked | MouseFlags . ButtonCtrl ) ]
4588
+ public void OnMouseClick_Is_Only_Raised_Once ( MouseFlags pressed , MouseFlags released , MouseFlags clicked )
4589
+ {
4590
+ var mouseClicks = 0 ;
4591
+ var view = new View ( ) ;
4592
+ view . MouseClick += ( _ ) => mouseClicks ++ ;
4593
+
4594
+ view . OnMouseEvent ( new MouseEvent ( ) { Flags = pressed } ) ;
4595
+ view . OnMouseEvent ( new MouseEvent ( ) { Flags = released } ) ;
4596
+ view . OnMouseEvent ( new MouseEvent ( ) { Flags = clicked } ) ;
4597
+
4598
+ Assert . Equal ( 1 , mouseClicks ) ;
4599
+ }
4584
4600
}
4585
4601
}
You can’t perform that action at this time.
0 commit comments