[gtk+] quartz: fix manual window move



commit 394fe4b57ea004ea21919a42a976573e8be16cc6
Author: Ryan Lortie <desrt desrt ca>
Date:   Thu Dec 12 20:18:01 2013 -0500

    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 b5eaae2..df96a26 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 da9ac58..e60232a 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 6fddf43..d9fa454 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]