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 508aa95bc2)
(cherry picked from commit 7e7758e178)
This commit is contained in:
Jeremy Huddleston 2008-12-21 20:40:36 -08:00 committed by Keith Packard
parent 51319550c9
commit 2a42a059ce

View File

@ -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();
}
}