xserver: Branch 'xorg-server-1.4-apple'

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Sun Dec 21 20:46:21 PST 2008


 hw/xquartz/quartz.c |   13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

New commits:
commit 508aa95bc2cd3fdc3dff448ec090919bf807d153
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Sun Dec 21 20:40:36 2008 -0800

    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.

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


More information about the xorg-commit mailing list