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

Jeremy Huddleston jeremyhu at freedesktop.org
Sun Aug 14 17:45:45 PDT 2011


 exa/exa_mixed.c               |   23 +++++++++++++----------
 hw/kdrive/ephyr/ephyrdriext.c |    4 ++++
 hw/xquartz/darwin.c           |    4 ++--
 3 files changed, 19 insertions(+), 12 deletions(-)

New commits:
commit ff10911559bff3a77d9b427bb01d5ed549adf49e
Author: Pelle Johansson <pelle at morth.org>
Date:   Sun Aug 14 17:44:40 2011 -0700

    XQuartz: Initialize darwin pointer valuators
    
    This fixes a regression introduced by: 633b81e8ba09cc6a1ea8b43f323874fda2cf0bde
    
    Signed-off-by: Pelle Johansson <pelle at morth.org>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index f19d7bf..b483000 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -322,8 +322,8 @@ static int DarwinMouseProc(DeviceIntPtr pPointer, int what) {
                                     (PtrCtrlProcPtr)NoopDDA,
                                     GetMotionHistorySize(), NAXES,
                                     axes_labels);
-//            InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
-//            InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
+            InitValuatorAxisStruct(pPointer, 0, axes_labels[0], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Absolute);
+            InitValuatorAxisStruct(pPointer, 1, axes_labels[1], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Absolute);
             break;
         case DEVICE_ON:
             pPointer->public.on = TRUE;
commit 4020cab88f5cf3164fc83cf912f94f288aa5a45d
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Aug 10 11:36:16 2011 +0200

    EXA/mixed: Update sys_pitch in MPH even when there's no system memory copy.
    
    Otherwise sys_pitch will be stale when a system memory copy is allocated.
    
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=38322 and a crash when
    unlocking the screen with xscreensaver, reported by Janne Huttunen.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Tested-by: Janne Huttunen <jahuttun at gmail.com>
    Tested-by: Jan Kriho <Erbureth at gmail.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
index 58645ae..0b1a4a4 100644
--- a/exa/exa_mixed.c
+++ b/exa/exa_mixed.c
@@ -186,17 +186,20 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth,
         }
 
 	/* Need to re-create system copy if there's also a GPU copy */
-	if (has_gpu_copy && pExaPixmap->sys_ptr) {
-	    free(pExaPixmap->sys_ptr);
-	    pExaPixmap->sys_ptr = NULL;
-	    pExaPixmap->sys_pitch = PixmapBytePad(width, depth);
-	    DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
-	    DamageDestroy(pExaPixmap->pDamage);
-	    pExaPixmap->pDamage = NULL;
-	    RegionEmpty(&pExaPixmap->validSys);
+	if (has_gpu_copy) {
+	    if (pExaPixmap->sys_ptr) {
+		free(pExaPixmap->sys_ptr);
+		pExaPixmap->sys_ptr = NULL;
+		DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
+		DamageDestroy(pExaPixmap->pDamage);
+		pExaPixmap->pDamage = NULL;
+		RegionEmpty(&pExaPixmap->validSys);
 
-	    if (pExaScr->deferred_mixed_pixmap == pPixmap)
-		pExaScr->deferred_mixed_pixmap = NULL;
+		if (pExaScr->deferred_mixed_pixmap == pPixmap)
+		    pExaScr->deferred_mixed_pixmap = NULL;
+	    }
+
+	    pExaPixmap->sys_pitch = PixmapBytePad(width, depth);
 	}
     }
 
commit a1dec7cd6adabaf8770dc3b21b0df30ce2f0bc8d
Author: Julien Cristau <jcristau at debian.org>
Date:   Thu Jul 7 19:18:03 2011 +0200

    Xephyr/dri: register screen and window privates on init
    
    Fixes assertion failure when calling dixSetPrivate
    Debian bug#632549 <http://bugs.debian.org/632549>
    
    Reported-and-tested-by: Mohammed Sameer <msameer at foolab.org>
    Signed-off-by: Julien Cristau <jcristau at debian.org>
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
index 6945f5b..0bd51b2 100644
--- a/hw/kdrive/ephyr/ephyrdriext.c
+++ b/hw/kdrive/ephyr/ephyrdriext.c
@@ -1394,6 +1394,10 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
         EPHYR_LOG_ERROR ("failed to register DRI extension\n") ;
         goto out ;
     }
+    if (!dixRegisterPrivateKey(&ephyrDRIScreenKeyRec, PRIVATE_SCREEN, 0))
+        goto out ;
+    if (!dixRegisterPrivateKey(&ephyrDRIWindowKeyRec, PRIVATE_WINDOW, 0))
+        goto out ;
     screen_priv = calloc(1, sizeof (EphyrDRIScreenPrivRec)) ;
     if (!screen_priv) {
         EPHYR_LOG_ERROR ("failed to allocate screen_priv\n") ;


More information about the Xquartz-changes mailing list