summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren gmail com>2007-04-04 23:52:21 +0000
committerElijah Newren <newren@src.gnome.org>2007-04-04 23:52:21 +0000
commitdda3c2bee64959386a42934b4134d686264a1e3a (patch)
treee5e40a517a0e54176c0000ad66f27e2309f21566
parent921661e91d8b4602a2903dee805a5505da052da9 (diff)
downloadmetacity-dda3c2bee64959386a42934b4134d686264a1e3a.tar.gz
send synthetic configurenotify events also in response to MapRequest
2007-04-04 Elijah Newren <newren gmail com> * src/window.c (meta_window_move_resize_internal): send synthetic configurenotify events also in response to MapRequest events when the window has a frame and the application specifies PPosition or UPosition hints. I believe they are already sent for all other cases. Should fix #322840. Fixes the testcase at least. :) svn path=/trunk/; revision=3156
-rw-r--r--ChangeLog10
-rw-r--r--src/window.c12
2 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e426ca86..ff9d6705 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
-2004-04-04 Elijah Newren <newren gmail com>
+2007-04-04 Elijah Newren <newren gmail com>
+
+ * src/window.c (meta_window_move_resize_internal): send synthetic
+ configurenotify events also in response to MapRequest events when
+ the window has a frame and the application specifies PPosition or
+ UPosition hints. I believe they are already sent for all other
+ cases. Should fix #322840. Fixes the testcase at least. :)
+
+2007-04-04 Elijah Newren <newren gmail com>
Fix lots of little issues with min/max constraints and size
increment constraints. Fixes #329152, #418395, and possibly
diff --git a/src/window.c b/src/window.c
index c00a6982..a11d7fe9 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3270,6 +3270,18 @@ meta_window_move_resize_internal (MetaWindow *window,
if ((need_move_client || need_move_frame) &&
!(need_resize_client || need_resize_frame))
need_configure_notify = TRUE;
+
+ /* MapRequest events with a PPosition or UPosition hint with a frame
+ * are moved by metacity without resizing; send a configure notify
+ * in such cases. See #322840. (Note that window->constructing is
+ * only true iff this call is due to a MapRequest, and when
+ * PPosition/UPosition hints aren't set, metacity seems to send a
+ * ConfigureNotify anyway due to the above code.)
+ */
+ if (window->constructing && window->frame &&
+ ((window->size_hints.flags & PPosition) ||
+ (window->size_hints.flags & USPosition)))
+ need_configure_notify = TRUE;
/* The rest of this function syncs our new size/pos with X as
* efficiently as possible