[Xquartz-changes] xserver: Branch 'master' - 6 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Fri Mar 30 14:42:52 PDT 2012


Rebased ref, commits from common ancestor:
commit 6cb83b78c47b80556cb4d573524d60f0cd1a64ac
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Fri Mar 30 14:29:48 2012 -0700

    XQuartz: Tiger build fix
    
    Fixes: https://trac.macports.org/ticket/33818
    
    Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am
index 21ad5b5..77962b1 100644
--- a/hw/xquartz/mach-startup/Makefile.am
+++ b/hw/xquartz/mach-startup/Makefile.am
@@ -23,7 +23,7 @@ nodist_X11_bin_SOURCES = \
 	mach_startupServer.c \
 	mach_startupUser.c
 
-X11_bin_LDADD = \
+X11_bin_DEPENDENCIES = \
 	$(top_builddir)/hw/xquartz/libXquartz.la \
 	$(top_builddir)/hw/xquartz/xpr/libXquartzXpr.la \
 	$(top_builddir)/dix/dixfonts.lo \
@@ -31,8 +31,12 @@ X11_bin_LDADD = \
 	$(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la \
 	$(XQUARTZ_LIBS) $(XSERVER_LIBS)
 
+# $(XSERVER_SYS_LIBS) is placed here in order to set command line ordering
+# to work around build issues on Tiger.
+X11_bin_LDADD = $(X11_bin_DEPENDENCIES) $(XSERVER_SYS_LIBS)
+
 X11_bin_LDFLAGS =  \
-	$(XSERVER_SYS_LIBS) -lXplugin \
+	-lXplugin \
 	-XCClinker -Objc \
 	-Wl,-u,_miDCInitialize \
 	-Wl,-framework,Carbon \
@@ -41,7 +45,7 @@ X11_bin_LDFLAGS =  \
 	-Wl,-framework,IOKit
 
 if GLX
-X11_bin_LDADD += \
+X11_bin_DEPENDENCIES += \
 	$(top_builddir)/hw/xquartz/GL/libCGLCore.la \
 	$(top_builddir)/glx/libglx.la
 
@@ -55,12 +59,10 @@ X11_bin_LDFLAGS += \
 endif
 
 if RECORD
-X11_bin_LDADD += \
+X11_bin_DEPENDENCIES += \
 	$(top_builddir)/record/librecord.la
 endif
 
-X11_bin_DEPENDENCIES = $(X11_bin_LDADD)
-
 bin_PROGRAMS = Xquartz
 
 dist_Xquartz_SOURCES = \
commit eca58ee4db43d85e5940919be094c38ad166d5d0
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Wed Mar 28 15:07:51 2012 -0700

    os: Fix regression with FatalError not calling va_start
    
    Regression From: a818b305989bbcde4e585112a7ee70cbc0b14a92
    
    Found-by: Colin Harrison <colin.harrison at virgin.net>
    Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/os/log.c b/os/log.c
index 9a71969..061b3dd 100644
--- a/os/log.c
+++ b/os/log.c
@@ -601,6 +601,8 @@ FatalError(const char *f, ...)
     else
         ErrorF("\nFatal server error:\n");
 
+    va_start(args, f);
+
     /* Make a copy for OsVendorFatalError */
     va_copy(args2, args);
 
commit 55f552adb651715d2620db7248cd5b9b8187654a
Author: Michal Suchanek <hramrach at gmail.com>
Date:   Wed Mar 28 18:12:39 2012 -0700

    xfree86: workaround crash on close
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=41653
    
    Signed-off-by: Michal Suchanek <hramrach at gmail.com>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 85d7557..f9602fa 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -272,6 +272,7 @@ xf86RotateDestroy(xf86CrtcPtr crtc)
     ScrnInfoPtr pScrn = crtc->scrn;
     ScreenPtr pScreen = pScrn->pScreen;
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
+    DrawablePtr screenDrawable = &pScreen->root->drawable;
     int c;
 
     /* Free memory from rotation */
@@ -289,7 +290,7 @@ xf86RotateDestroy(xf86CrtcPtr crtc)
     /*
      * Clean up damage structures when no crtcs are rotated
      */
-    if (xf86_config->rotation_damage) {
+    if (screenDrawable && xf86_config->rotation_damage) {
         /* Free damage structure */
         if (xf86_config->rotation_damage_registered) {
             DamageUnregister(&pScreen->root->drawable,
commit 641a1b9363d59808d2586f9e84847ccc69701482
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Mar 26 10:34:34 2012 +1000

    test: reset the client before checking the swapped version
    
    As of 2c23ef83b0e03e163aeeb06133538606886f4e9c, the server returns BadValue
    for the same client with multiple versions. Avoid this by resetting the
    client before we issue the same request as a fake swap client.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
    Tested-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/test/xi2/protocol-xiqueryversion.c b/test/xi2/protocol-xiqueryversion.c
index 3d50fa8..2552307 100644
--- a/test/xi2/protocol-xiqueryversion.c
+++ b/test/xi2/protocol-xiqueryversion.c
@@ -115,6 +115,7 @@ request_XIQueryVersion(int smaj, int smin, int cmaj, int cmin, int error)
     rc = ProcXIQueryVersion(&client);
     assert(rc == error);
 
+    client = init_client(request.length, &request);
     client.swapped = TRUE;
 
     swaps(&request.length);
commit 17f33ca0e5bff45a2d03e4d3b4753a714ce25baf
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Mar 26 10:28:32 2012 +1000

    test: init the sync extensions for tests to pass again
    
    Introduced in d645edd11e7482f98c8b7e0d6c8693285c484907
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
    Tested-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index 32c0567..e2b0b8b 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -30,6 +30,7 @@
 #include "exglobals.h"
 #include "xkbsrv.h"             /* for XkbInitPrivates */
 #include "xserver-properties.h"
+#include "syncsrv.h"
 #include <X11/extensions/XI2.h>
 
 #include "protocol-common.h"
@@ -38,6 +39,7 @@ struct devices devices;
 ScreenRec screen;
 WindowRec root;
 WindowRec window;
+static ClientRec server_client;
 
 void *userdata;
 
@@ -214,6 +216,11 @@ device_cursor_init(DeviceIntPtr dev, ScreenPtr screen)
     return TRUE;
 }
 
+static void
+device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr screen)
+{
+}
+
 static Bool
 set_cursor_pos(DeviceIntPtr dev, ScreenPtr screen, int x, int y, Bool event)
 {
@@ -231,6 +238,7 @@ init_simple(void)
     screen.width = 640;
     screen.height = 480;
     screen.DeviceCursorInitialize = device_cursor_init;
+    screen.DeviceCursorCleanup = device_cursor_cleanup;
     screen.SetCursorPosition = set_cursor_pos;
 
     dixResetPrivates();
@@ -245,6 +253,12 @@ init_simple(void)
     init_window(&root, NULL, ROOT_WINDOW_ID);
     init_window(&window, &root, CLIENT_WINDOW_ID);
 
+    serverClient = &server_client;
+    InitClient(serverClient, 0, (pointer) NULL);
+    if (!InitClientResources(serverClient)) /* for root resources */
+        FatalError("couldn't init server resources");
+    SyncExtensionInit();
+
     devices = init_devices();
 }
 
diff --git a/test/xtest.c b/test/xtest.c
index aeca669..99e2185 100644
--- a/test/xtest.c
+++ b/test/xtest.c
@@ -32,6 +32,7 @@
 #include "exevents.h"
 #include "xkbsrv.h"
 #include "xserver-properties.h"
+#include "syncsrv.h"
 
 /**
  */
@@ -47,9 +48,15 @@ device_cursor_init(DeviceIntPtr dev, ScreenPtr screen)
 }
 
 static void
+device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr screen)
+{
+}
+
+static void
 xtest_init_devices(void)
 {
     ScreenRec screen;
+    ClientRec server_client;
 
     /* random stuff that needs initialization */
     memset(&screen, 0, sizeof(screen));
@@ -60,8 +67,14 @@ xtest_init_devices(void)
     screen.width = 640;
     screen.height = 480;
     screen.DeviceCursorInitialize = device_cursor_init;
+    screen.DeviceCursorCleanup = device_cursor_cleanup;
     dixResetPrivates();
+    serverClient = &server_client;
+    InitClient(serverClient, 0, (pointer) NULL);
+    if (!InitClientResources(serverClient)) /* for root resources */
+        FatalError("couldn't init server resources");
     InitAtoms();
+    SyncExtensionInit();
 
     XkbInitPrivates();
 
commit 8053faa7b81520b0a46459ba6e3b98f2599d5bbf
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Fri Mar 23 08:20:22 2012 +1000

    Bump input ABI to 17 for per-device idlecounters
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index 894b93f..31f5c6a 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -83,7 +83,7 @@ typedef enum {
  */
 #define ABI_ANSIC_VERSION	SET_ABI_VERSION(0, 4)
 #define ABI_VIDEODRV_VERSION	SET_ABI_VERSION(12, 0)
-#define ABI_XINPUT_VERSION	SET_ABI_VERSION(16, 0)
+#define ABI_XINPUT_VERSION	SET_ABI_VERSION(17, 0)
 #define ABI_EXTENSION_VERSION	SET_ABI_VERSION(6, 0)
 #define ABI_FONT_VERSION	SET_ABI_VERSION(0, 6)
 


More information about the Xquartz-changes mailing list