quartz: fix manual window move

We need to have gdk skip standard processing of events when we are in
manual move in addition to manual resize.

https://bugzilla.gnome.org/show_bug.cgi?id=720357
This commit is contained in:
Ryan Lortie 2013-12-12 20:18:01 -05:00
parent dae65b7c62
commit 394fe4b57e
3 changed files with 10 additions and 6 deletions

View File

@ -358,9 +358,13 @@
return YES;
}
-(BOOL)isInManualResize
/* Used by gdkevents-quartz.c to decide if our sendEvent() handler above
* will see the event or if it will be subjected to standard processing
* by GDK.
*/
-(BOOL)isInManualResizeOrMove
{
return inManualResize;
return inManualResize || inManualMove;
}
-(void)beginManualMove

View File

@ -37,7 +37,7 @@
-(BOOL)isInMove;
-(void)beginManualMove;
-(BOOL)trackManualMove;
-(BOOL)isInManualResize;
-(BOOL)isInManualResizeOrMove;
-(void)beginManualResize;
-(BOOL)trackManualResize;
-(void)showAndMakeKey:(BOOL)makeKey;

View File

@ -1360,10 +1360,10 @@ gdk_event_translate (GdkEvent *event,
return FALSE;
}
/* Also when in a manual resize, we ignore events so that these are
* pushed to GdkQuartzNSWindow's sendEvent handler.
/* Also when in a manual resize or move , we ignore events so that
* these are pushed to GdkQuartzNSWindow's sendEvent handler.
*/
if ([(GdkQuartzNSWindow *)nswindow isInManualResize])
if ([(GdkQuartzNSWindow *)nswindow isInManualResizeOrMove])
return FALSE;
/* Find the right GDK window to send the event to, taking grabs and