From 394fe4b57ea004ea21919a42a976573e8be16cc6 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Thu, 12 Dec 2013 20:18:01 -0500 Subject: [PATCH] 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 --- gdk/quartz/GdkQuartzNSWindow.c | 8 ++++++-- gdk/quartz/GdkQuartzNSWindow.h | 2 +- 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