xserver: Branch 'server-1.12-branch' - 4 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Thu Apr 5 17:54:13 PDT 2012


 Xi/xipassivegrab.c                  |    9 +++++++--
 hw/xfree86/modes/xf86Rotate.c       |    3 ++-
 hw/xquartz/darwin.c                 |    6 +++---
 hw/xquartz/mach-startup/Makefile.am |   14 ++++++++------
 4 files changed, 20 insertions(+), 12 deletions(-)

New commits:
commit 259aa5a69b69aa72be3fb7402b68560f9a6b05d6
Author: Chase Douglas <chase.douglas at canonical.com>
Date:   Thu Mar 29 18:06:03 2012 -0700

    Implement passive touch ungrabbing
    
    Whoops. Forgot to implement this. The code currently generates an error
    due to the unhandled grab type.
    
    X.Org Bug 48069 <https://bugs.freedesktop.org/show_bug.cgi?id=48069>
    
    Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit 1110facdfeb95b1ad47d03c0ca3d73933b86dbd6)

diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
index 8a1c599..7130328 100644
--- a/Xi/xipassivegrab.c
+++ b/Xi/xipassivegrab.c
@@ -290,13 +290,15 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
     if (stuff->grab_type != XIGrabtypeButton &&
         stuff->grab_type != XIGrabtypeKeycode &&
         stuff->grab_type != XIGrabtypeEnter &&
-        stuff->grab_type != XIGrabtypeFocusIn) {
+        stuff->grab_type != XIGrabtypeFocusIn &&
+        stuff->grab_type != XIGrabtypeTouchBegin) {
         client->errorValue = stuff->grab_type;
         return BadValue;
     }
 
     if ((stuff->grab_type == XIGrabtypeEnter ||
-         stuff->grab_type == XIGrabtypeFocusIn) && stuff->detail != 0) {
+         stuff->grab_type == XIGrabtypeFocusIn ||
+         stuff->grab_type == XIGrabtypeTouchBegin) && stuff->detail != 0) {
         client->errorValue = stuff->detail;
         return BadValue;
     }
@@ -327,6 +329,9 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
     case XIGrabtypeFocusIn:
         tempGrab->type = XI_FocusIn;
         break;
+    case XIGrabtypeTouchBegin:
+        tempGrab->type = XI_TouchBegin;
+        break;
     }
     tempGrab->grabtype = XI2;
     tempGrab->modifierDevice = mod_dev;
commit 42474e98ec4245c9e80fc0e9a4b287f3999324f2
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date:   Thu Apr 5 14:03:35 2012 -0700

    XQuartz: Automatically start our virtual tablet devices
    
    Fixes: https://bugs.launchpad.net/inkscape/+bug/972914
    Regression introduced by: 7790dc86384cc451ac44663737fde84dd81ad4e1
    
    Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
    (cherry picked from commit e9d3848d7bda7f7de4c0f497aee4482d0b30ad49)

diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index ff6581c..2d5174a 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -539,15 +539,15 @@ InitInput(int argc, char **argv)
        gdkdev->info.source = GDK_SOURCE_PEN;
      */
 
-    darwinTabletStylus = AddInputDevice(serverClient, DarwinTabletProc, FALSE);
+    darwinTabletStylus = AddInputDevice(serverClient, DarwinTabletProc, TRUE);
     assert(darwinTabletStylus);
     darwinTabletStylus->name = strdup("pen");
 
-    darwinTabletCursor = AddInputDevice(serverClient, DarwinTabletProc, FALSE);
+    darwinTabletCursor = AddInputDevice(serverClient, DarwinTabletProc, TRUE);
     assert(darwinTabletCursor);
     darwinTabletCursor->name = strdup("cursor");
 
-    darwinTabletEraser = AddInputDevice(serverClient, DarwinTabletProc, FALSE);
+    darwinTabletEraser = AddInputDevice(serverClient, DarwinTabletProc, TRUE);
     assert(darwinTabletEraser);
     darwinTabletEraser->name = strdup("eraser");
 
commit 4b3ac1b563c3de32ad13e794fefabd5124648393
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>
    (cherry picked from commit 6cb83b78c47b80556cb4d573524d60f0cd1a64ac)

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 b704d9146336c3044be2be7ae38ce2c5b5a47f86
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>
    (cherry picked from commit 55f552adb651715d2620db7248cd5b9b8187654a)

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,


More information about the xorg-commit mailing list