xserver: Branch 'xorg-server-1.6-apple' - 5 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Sun Dec 28 22:17:48 PST 2008


 .gitignore                          |    4 +++-
 configure.ac                        |    2 +-
 hw/xquartz/bundle/X11.sh            |   15 +++++++++++----
 hw/xquartz/mach-startup/Makefile.am |    1 +
 hw/xquartz/quartz.c                 |   12 ++++++++----
 hw/xquartz/xpr/xprScreen.c          |    4 +---
 6 files changed, 25 insertions(+), 13 deletions(-)

New commits:
commit 8c6e8fa811c782c85e7fefbe75fe5480098739ae
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Sun Dec 28 15:57:59 2008 -0800

    XQuartz: pbproxy: We explicitly need libX11 for pbproxy
    (cherry picked from commit 32824120da0749b8369c2592f851bb1030dea9f1)

diff --git a/configure.ac b/configure.ac
index efe347f..f0223a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1558,7 +1558,7 @@ if test "x$XQUARTZ" = xyes; then
 
 	CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DNO_ALLOCA"
 
-	PKG_CHECK_MODULES(XPBPROXY, [applewmproto >= 1.1.1] [applewm >= 1.0.0] xfixes fixesproto)
+	PKG_CHECK_MODULES(XPBPROXY, [applewmproto >= 1.1.1] [applewm >= 1.0.0] xfixes fixesproto x11)
 
 	if test "x$STANDALONE_XPBPROXY" = xyes ; then
 		AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
commit 338f096861136fb6c4f604e93ff21277252676b7
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Sun Dec 28 01:53:38 2008 -0800

    XQuartz: Try harder to get the user's login environment
    (cherry picked from commit 6bedaddd78aa04bd303df434a4c49bb87bd7deaa)

diff --git a/hw/xquartz/bundle/X11.sh b/hw/xquartz/bundle/X11.sh
index 4295da9..3b8b679 100755
--- a/hw/xquartz/bundle/X11.sh
+++ b/hw/xquartz/bundle/X11.sh
@@ -1,8 +1,15 @@
-#!/bin/bash --login
+#!/bin/bash
+
+set "$(dirname "$0")"/X11.bin "${@}"
 
 if [ -x ~/.x11run ]; then
-	exec ~/.x11run "$(dirname "$0")"/X11.bin "${@}"
-else
-	exec "$(dirname "$0")"/X11.bin "${@}"
+	exec ~/.x11run "${@}"
 fi
 
+case $(basename "${SHELL}") in
+	bash)          exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
+	ksh|sh|zsh)    exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;;
+	csh|tcsh)      exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;;
+	es|rc)         exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;;
+	*)             exec    "${@}" ;;
+esac
commit 61ae56f97326c57dda05632ca9f4873238ee18e1
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
    (cherry picked from commit 7617d3659b5481ef85aecc1f936e7dd2662bdfbd)

diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index 7f30201..1f0b004 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -324,6 +324,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. 
      */
@@ -341,18 +345,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 85347902d97f2d4937f63ae1fac62ee46a61c82f
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.
    (cherry picked from commit 8121f30bd29591fc74fbc680fbbf20210271fa58)

diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am
index 40060d0..bbad10a 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
commit 1ca832002f3422dd582c311a3f31e0cc552e763e
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Sun Dec 28 22:16:21 2008 -0800

    Updated .gitignore
    (cherry picked from commit 06964c322e4da81f3146022049a2de13f6b2892d)

diff --git a/.gitignore b/.gitignore
index e1aa717..cfdc4d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+ChangeLog
 Makefile
 Makefile.in
 .deps
@@ -184,11 +185,12 @@ hw/xfree86/xorg.conf.example.pre
 hw/xnest/Xnest
 hw/xnest/Xnest.1x
 hw/xnest/Xnest.man
+hw/xquartz/bundle/Info.plist
 hw/xquartz/mach-startup/mach_startup.h
 hw/xquartz/mach-startup/mach_startupServer.c
 hw/xquartz/mach-startup/mach_startupServer.h
 hw/xquartz/mach-startup/mach_startupUser.c
-hw/xquartz/mach-startup/X11
+hw/xquartz/mach-startup/X11.bin
 hw/xquartz/mach-startup/Xquartz
 hw/xquartz/doc/Xquartz.1
 include/dix-config.h


More information about the xorg-commit mailing list