diff options
-rw-r--r-- | hw/xquartz/quartz.c | 13 |
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(); } } |