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

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Wed Dec 24 00:40:21 PST 2008


 hw/xquartz/mach-startup/Makefile.am |    1 +
 hw/xquartz/quartz.c                 |   12 ++++++++----
 hw/xquartz/xpr/xprScreen.c          |    4 +---
 3 files changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 7617d3659b5481ef85aecc1f936e7dd2662bdfbd
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Wed Dec 24 00:39:06 2008 -0800

    XQuartz: Reposition windows when we enter fullscreen to ensure our root window

diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index 7fc68d8..1274ec7 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -332,6 +332,10 @@ void QuartzSetFullscreen(Bool state) {
     if (quartzHasRoot && !quartzEnableRootless)
         RootlessShowAllWindows ();
     
+    if (quartzHasRoot || quartzEnableRootless) {
+        RootlessRepositionWindows(screenInfo.screens[0]);
+    }
+
     /* Somehow the menubar manages to interfere with our event stream
      * in fullscreen mode, even though it's not visible. 
      */
@@ -349,18 +353,18 @@ void QuartzSetRootless(Bool state) {
     
     quartzEnableRootless = state;
 
+    xp_disable_update();
+
     /* 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();
-        xp_reenable_update();
     } else if (quartzEnableRootless && !quartzHasRoot) {
-        xp_disable_update();
         RootlessShowAllWindows();
-        xp_reenable_update();
     }
+
+    xp_reenable_update();
 }
 
 /*
commit 8121f30bd29591fc74fbc680fbbf20210271fa58
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Tue Dec 23 20:33:27 2008 -0800

    XQuartz: Re-enable rlAccel
    
    It was incorrectly blamed for some crashes a few months ago, and it should be
    safe to use until we get an EXA driver to replace it.

diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am
index f9ded67..b29890f 100644
--- a/hw/xquartz/mach-startup/Makefile.am
+++ b/hw/xquartz/mach-startup/Makefile.am
@@ -18,6 +18,7 @@ X11_bin_LDADD = \
 	$(top_builddir)/hw/xquartz/xpr/libXquartzXpr.la \
 	$(top_builddir)/dix/dixfonts.lo \
 	$(top_builddir)/miext/rootless/librootless.la \
+	$(top_builddir)/miext/rootless/accel/librlAccel.la \
 	$(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la \
 	$(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin
 
diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c
index da262f6..52fb9c9 100644
--- a/hw/xquartz/xpr/xprScreen.c
+++ b/hw/xquartz/xpr/xprScreen.c
@@ -364,9 +364,7 @@ xprSetupScreen(int index, ScreenPtr pScreen)
 {
     // Initialize accelerated rootless drawing
     // Note that this must be done before DamageSetup().
-
-    // These are crashing ugly... better to be stable and not crash for now.
-    //RootlessAccelInit(pScreen);
+    RootlessAccelInit(pScreen);
 
 #ifdef DAMAGE
     // The Damage extension needs to wrap underneath the


More information about the xorg-commit mailing list