diff options
author | Ryan Lortie <desrt@desrt.ca> | 2013-12-12 20:18:01 -0500 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2014-01-06 15:27:28 -0500 |
commit | 394fe4b57ea004ea21919a42a976573e8be16cc6 (patch) | |
tree | b79cbb43b07335dccd77983225cfd64107d61408 /gdk/quartz | |
parent | dae65b7c622a3955c9af871735a48617617831bc (diff) | |
download | gtk+-394fe4b57ea004ea21919a42a976573e8be16cc6.tar.gz |
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
Diffstat (limited to 'gdk/quartz')
-rw-r--r-- | gdk/quartz/GdkQuartzNSWindow.c | 8 | ||||
-rw-r--r-- | gdk/quartz/GdkQuartzNSWindow.h | 2 | ||||
-rw-r--r-- | gdk/quartz/gdkevents-quartz.c | 6 |
3 files changed, 10 insertions, 6 deletions
diff --git a/gdk/quartz/GdkQuartzNSWindow.c b/gdk/quartz/GdkQuartzNSWindow.c index b5eaae25e7..df96a260ed 100644 --- a/gdk/quartz/GdkQuartzNSWindow.c +++ b/gdk/quartz/GdkQuartzNSWindow.c @@ -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 diff --git a/gdk/quartz/GdkQuartzNSWindow.h b/gdk/quartz/GdkQuartzNSWindow.h index da9ac58a79..e60232a91d 100644 --- a/gdk/quartz/GdkQuartzNSWindow.h +++ b/gdk/quartz/GdkQuartzNSWindow.h @@ -37,7 +37,7 @@ -(BOOL)isInMove; -(void)beginManualMove; -(BOOL)trackManualMove; --(BOOL)isInManualResize; +-(BOOL)isInManualResizeOrMove; -(void)beginManualResize; -(BOOL)trackManualResize; -(void)showAndMakeKey:(BOOL)makeKey; diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 6fddf433e8..d9fa454256 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -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 |