diff options
author | Benjamin Berg <benjamin@sipsolutions.net> | 2012-10-14 12:16:06 +0200 |
---|---|---|
committer | Benjamin Berg <benjamin@sipsolutions.net> | 2012-10-14 12:16:06 +0200 |
commit | 472662d0996b0b4db6355864c6e7944d31d3d62b (patch) | |
tree | a5baf34700deecd5cc9ba862a0b404f020e2a47e | |
parent | 027f16b096990e4b14702c5d8f75ea472cf6b6ff (diff) | |
download | mutter-472662d0996b0b4db6355864c6e7944d31d3d62b.tar.gz |
Resize the guard window when the X screen is resized.
Fixes bug #670396. Without this fix the guard window may not
extend over the whole area of the screen after a XRandR
reconfiguration. The effect being that mouse events are
delivered to invisible windows.
-rw-r--r-- | src/core/screen.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/screen.c b/src/core/screen.c index db9b5ed53..e49f7d014 100644 --- a/src/core/screen.c +++ b/src/core/screen.c @@ -2878,6 +2878,22 @@ meta_screen_resize (MetaScreen *screen, reload_monitor_infos (screen); set_desktop_geometry_hint (screen); + /* Resize the guard window to fill the screen again. */ + if (screen->guard_window != None) + { + XWindowChanges changes; + + changes.x = 0; + changes.y = 0; + changes.width = width; + changes.height = height; + + XConfigureWindow(screen->display->xdisplay, + screen->guard_window, + CWX | CWY | CWWidth | CWHeight, + &changes); + } + if (screen->display->compositor) meta_compositor_sync_screen_size (screen->display->compositor, screen, width, height); |