[gtk+] quartz: fix manual window move
- From: Ryan Lortie <desrt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] quartz: fix manual window move
- Date: Mon, 6 Jan 2014 20:27:38 +0000 (UTC)
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]