summaryrefslogtreecommitdiff
authorJeremy Huddleston <jeremyhu@freedesktop.org>2008-12-22 04:40:36 (GMT)
committer Jeremy Huddleston <jeremyhu@freedesktop.org>2008-12-22 04:40:36 (GMT)
commit508aa95bc2cd3fdc3dff448ec090919bf807d153 (patch) (side-by-side diff)
tree1bd002596a5a5b2bee11c35bd16689d37f394d98
parent67455e716e3ecffd528930479192785958d37988 (diff)
downloadxserver-508aa95bc2cd3fdc3dff448ec090919bf807d153.zip
xserver-508aa95bc2cd3fdc3dff448ec090919bf807d153.tar.gz
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.
Diffstat (more/less context) (ignore whitespace changes)
-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 a2cccd6..7fc68d8 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -332,16 +332,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 ();
@@ -355,7 +348,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();
@@ -363,7 +359,6 @@ void QuartzSetRootless(Bool state) {
} else if (quartzEnableRootless && !quartzHasRoot) {
xp_disable_update();
RootlessShowAllWindows();
- QuartzUpdateScreens();
xp_reenable_update();
}
}