summaryrefslogtreecommitdiff
path: root/hw/xquartz
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2008-12-21 20:40:36 -0800
committerKeith Packard <keithp@keithp.com>2009-01-09 11:00:21 -0800
commit2a42a059ce7b259622b36fb3ef909f289d5388d7 (patch)
treef2850356963f788acc1529b10e654ae62e7be8b6 /hw/xquartz
parent51319550c9bb079c3af1b98c96c5174bc74e0dbd (diff)
XQuartz: Update our "screens" when we toggle rootless rather than when we toggle fullscreen
This old behavior was used as a workaround for the menubar behavior in the older server, but we handle it better now and need to update our screens when we toggle the rootless state instead. (cherry picked from commit 508aa95bc2cd3fdc3dff448ec090919bf807d153) (cherry picked from commit 7e7758e1780326ad867be74dbd583a154bad017b)
Diffstat (limited to 'hw/xquartz')
-rw-r--r--hw/xquartz/quartz.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index 077c87c81..7f302010b 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -324,16 +324,9 @@ void QuartzSetFullscreen(Bool state) {
if (quartzHasRoot && !quartzEnableRootless)
RootlessShowAllWindows ();
- /* Only update screen info when something is visible. Avoids the wm
- * moving the windows out from under the menubar when it shouldn't
- */
- if (quartzHasRoot || quartzEnableRootless)
- QuartzUpdateScreens();
-
/* Somehow the menubar manages to interfere with our event stream
* in fullscreen mode, even though it's not visible.
*/
-
X11ApplicationShowHideMenubar(!quartzHasRoot);
xp_reenable_update ();
@@ -347,7 +340,10 @@ void QuartzSetRootless(Bool state) {
return;
quartzEnableRootless = state;
-
+
+ /* When in rootless, the menubar is not part of the screen, so we need to update our screens on toggle */
+ QuartzUpdateScreens();
+
if (!quartzEnableRootless && !quartzHasRoot) {
xp_disable_update();
RootlessHideAllWindows();
@@ -355,7 +351,6 @@ void QuartzSetRootless(Bool state) {
} else if (quartzEnableRootless && !quartzHasRoot) {
xp_disable_update();
RootlessShowAllWindows();
- QuartzUpdateScreens();
xp_reenable_update();
}
}