diff options
author | Elijah Newren <newren gmail com> | 2007-04-04 23:57:00 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2007-04-04 23:57:00 +0000 |
commit | 3cdb14c7a32eb681cc9a4dd1ee648757f8dd2aee (patch) | |
tree | a1bf49488f49e6693b710eff50076dd0288ef2e7 | |
parent | fd57f338caacaa676b85f20e4a6f591e4e9b6090 (diff) | |
download | metacity-3cdb14c7a32eb681cc9a4dd1ee648757f8dd2aee.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=/branches/gnome-2-16/; revision=3158
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/window.c | 12 |
2 files changed, 20 insertions, 0 deletions
@@ -1,3 +1,11 @@ +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-01-29 Thomas Thurman <thomas@thurman.org.uk> * configure.in: post-release bump to 2.16.8 diff --git a/src/window.c b/src/window.c index 98fcffb0..a9b3f0ba 100644 --- a/src/window.c +++ b/src/window.c @@ -3160,6 +3160,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 |