xserver: Branch 'server-1.7-branch' - 5 commits

Peter Hutterer whot at kemper.freedesktop.org
Thu Sep 24 16:47:04 PDT 2009


 configure.ac       |    6 +++++-
 dix/eventconvert.c |   12 ++++++------
 dix/getevents.c    |    5 +++--
 exa/exa_glyphs.c   |    2 --
 exa/exa_mixed.c    |    4 +---
 exa/exa_render.c   |   12 +++++++-----
 render/picture.c   |    5 +----
 7 files changed, 23 insertions(+), 23 deletions(-)

New commits:
commit a9e2f7ac15f426560ac01689ec66f2db32424884
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Wed Sep 23 12:32:44 2009 +1000

    configure: fix up tslib check once again.
    
    This patch addresses two issues:
    The check for HAVE_TSLIB = xauto can never be true, the check has been
    corrected to TSLIB = xauto.
    
    Pre-pkgconfig versions of tslib fail to be found, this patch restores the
    additional AC_CHECK_LIB. However, the pgk-config check must happen before
    AC_CHECK_LIB, as AC_CHECK_LIB does not seem to honour the LD_LIBRARY_PATH.
    Thus, if tslib is installed outside of the default paths, AC_CHECK_LIB
    fails.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Acked--by: Daniel Stone <daniel at fooishbar.org>
    (cherry picked from commit 3b5bbb149d4c932d9624336f5cbe9fe71c87bea3)

diff --git a/configure.ac b/configure.ac
index db5325e..40cd017 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1861,7 +1861,11 @@ if test "$KDRIVE" = yes; then
 
 
     PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
-    if test "x$HAVE_TSLIB" = xauto; then
+    if test "x$HAVE_TSLIB" = xno; then
+        AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"])
+    fi
+
+    if test "xTSLIB" = xauto; then
         TSLIB="$HAVE_TSLIB"
     fi
 
commit 1f74cfdeacb88b466d8f2005af191db30dde2a86
Author: Thomas Jaeger <thjaeger at gmail.com>
Date:   Tue Sep 22 20:16:21 2009 -0400

    dix: report XI1 axis values correctly if first_valuator != 0
    
    Signed-off-by: Thomas Jaeger <ThJaeger at gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    (cherry picked from commit 5402f18d9c3f7ba19cc05b3a814e3a9e94c8d551)

diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index d91ba67..e25f3ee 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -352,17 +352,17 @@ getValuatorEvents(DeviceEvent *ev, deviceValuator *xv)
         xv->device_state = state;
         switch (xv->num_valuators) {
         case 6:
-            xv->valuator5 = ev->valuators.data[i + 5];
+            xv->valuator5 = ev->valuators.data[xv->first_valuator + 5];
         case 5:
-            xv->valuator4 = ev->valuators.data[i + 4];
+            xv->valuator4 = ev->valuators.data[xv->first_valuator + 4];
         case 4:
-            xv->valuator3 = ev->valuators.data[i + 3];
+            xv->valuator3 = ev->valuators.data[xv->first_valuator + 3];
         case 3:
-            xv->valuator2 = ev->valuators.data[i + 2];
+            xv->valuator2 = ev->valuators.data[xv->first_valuator + 2];
         case 2:
-            xv->valuator1 = ev->valuators.data[i + 1];
+            xv->valuator1 = ev->valuators.data[xv->first_valuator + 1];
         case 1:
-            xv->valuator0 = ev->valuators.data[i + 0];
+            xv->valuator0 = ev->valuators.data[xv->first_valuator + 0];
         }
 
         if (i + 6 < num_valuators)
commit 8867c60782909816826054ed0587094e58eb39e6
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Wed Sep 23 13:10:05 2009 +0200

    render: Don't add b8g8r8x8 format for depth 24.
    
    The components are required to be packed in the bottom of the pixel, so this
    format can't fit in depth 24.
    
    Also fix up a comment for the addition of BGRA formats.
    (cherry picked from commit ce1fe8ddb4a4dbe6cfd909e5b1b73b459d742bec)

diff --git a/render/picture.c b/render/picture.c
index a367077..e1a2972 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -223,9 +223,8 @@ PictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp)
 	    b = Ones (pVisual->blueMask);
 	    type = PICT_TYPE_OTHER;
 	    /*
-	     * Current rendering code supports only two direct formats,
+	     * Current rendering code supports only three direct formats,
 	     * fields must be packed together at the bottom of the pixel
-	     * and must be either RGB or BGR
 	     */
 	    if (pVisual->offsetBlue == 0 &&
 		pVisual->offsetGreen == b &&
@@ -322,8 +321,6 @@ PictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp)
 				      PICT_x8r8g8b8, pDepth->depth);
 		nformats = addFormat (formats, nformats,
 				      PICT_x8b8g8r8, pDepth->depth);
-		nformats = addFormat (formats, nformats,
-				      PICT_b8g8r8x8, pDepth->depth);
 	    }
 	    if (pDepth->depth >= 30)
 	    {
commit ac1490b651a251407e1bbc98e3ccd265a9e491b5
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Wed Sep 23 08:24:06 2009 +0200

    EXA: Fix some issues pointed out by clang.
    
    Remove dead variables, fix use of uninitialized values, that kind of thing.
    (cherry picked from commit 096f21bb7a1217443d8a03529b1a2938518eb24f)

diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c
index d621ccf..bf097c3 100644
--- a/exa/exa_glyphs.c
+++ b/exa/exa_glyphs.c
@@ -701,7 +701,6 @@ exaGlyphs (CARD8 	 op,
 	   GlyphListPtr	 list,
 	   GlyphPtr	*glyphs)
 {
-    PicturePtr	pPicture;
     PixmapPtr   pMaskPixmap = 0;
     PicturePtr  pMask = NULL;
     ScreenPtr   pScreen = pDst->pDrawable->pScreen;
@@ -803,7 +802,6 @@ exaGlyphs (CARD8 	 op,
 	while (n--)
 	{
 	    glyph = *glyphs++;
-	    pPicture = GlyphPicture (glyph)[pScreen->myNum];
 
 	    if (glyph->info.width > 0 && glyph->info.height > 0)
 	    {
diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
index 01f87ba..6aa73f2 100644
--- a/exa/exa_mixed.c
+++ b/exa/exa_mixed.c
@@ -57,7 +57,7 @@ exaCreatePixmap_mixed(ScreenPtr pScreen, int w, int h, int depth,
     PixmapPtr pPixmap;
     ExaPixmapPrivPtr	pExaPixmap;
     int bpp;
-    size_t paddedWidth, datasize;
+    size_t paddedWidth;
     ExaScreenPriv(pScreen);
 
     if (w > 32767 || h > 32767)
@@ -79,8 +79,6 @@ exaCreatePixmap_mixed(ScreenPtr pScreen, int w, int h, int depth,
     if (paddedWidth / 4 > 32767 || h > 32767)
         return NullPixmap;
 
-    datasize = h * paddedWidth;
-
     /* We will allocate the system pixmap later if needed. */
     pPixmap->devPrivate.ptr = NULL;
     pExaPixmap->sys_ptr = NULL;
diff --git a/exa/exa_render.c b/exa/exa_render.c
index d469301..1c18566 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -266,6 +266,10 @@ exaTryDriverSolidFill(PicturePtr	pSrc,
 
     xDst += pDst->pDrawable->x;
     yDst += pDst->pDrawable->y;
+    if (pSrc->pDrawable) {
+	xSrc += pSrc->pDrawable->x;
+	ySrc += pSrc->pDrawable->y;
+    }
 
     if (!miComputeCompositeRegion (&region, pSrc, NULL, pDst,
 				   xSrc, ySrc, 0, 0, xDst, yDst,
@@ -277,9 +281,6 @@ exaTryDriverSolidFill(PicturePtr	pSrc,
     REGION_TRANSLATE(pScreen, &region, dst_off_x, dst_off_y);
 
     if (pSrc->pDrawable) {
-	xSrc += pSrc->pDrawable->x;
-	ySrc += pSrc->pDrawable->y;
-
 	pSrcPix = exaGetDrawablePixmap (pSrc->pDrawable);
 	pixel = exaGetPixmapFirstPixel (pSrcPix);
     } else
@@ -340,7 +341,8 @@ exaTryDriverCompositeRects(CARD8	       op,
 			   ExaCompositeRectPtr rects)
 {
     ExaScreenPriv (pDst->pDrawable->pScreen);
-    int src_off_x, src_off_y, mask_off_x, mask_off_y, dst_off_x, dst_off_y;
+    int src_off_x = 0, src_off_y = 0, mask_off_x = 0, mask_off_y = 0;
+    int dst_off_x, dst_off_y;
     PixmapPtr pSrcPix = NULL, pMaskPix = NULL, pDstPix;
     ExaPixmapPrivPtr pSrcExaPix = NULL, pMaskExaPix = NULL, pDstExaPix;
 
@@ -656,7 +658,7 @@ exaTryDriverComposite(CARD8		op,
      */
     if (pDstExaPix->accel_blocked ||
 	(pSrcExaPix && pSrcExaPix->accel_blocked) ||
-	(pMask && (pMaskExaPix->accel_blocked)))
+	(pMaskExaPix && (pMaskExaPix->accel_blocked)))
     {
 	return -1;
     }
commit 6b656c3498fa1bdbf93b2951b27cc8ff00e65990
Author: Simon Thum <simon.thum at gmx.de>
Date:   Mon Sep 21 15:23:27 2009 +0200

    dix: move bounds check before access
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    (cherry picked from commit 824a09d856a5f750694e11d2fd2faaa3de705eaa)

diff --git a/dix/getevents.c b/dix/getevents.c
index 7ddf88b..5224d31 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -578,12 +578,13 @@ GetMaximumEventsNum(void) {
 static void
 clipAxis(DeviceIntPtr pDev, int axisNum, int *val)
 {
-    AxisInfoPtr axis = pDev->valuator->axes + axisNum;
-    /* InitValuatoraAxisStruct ensures that (min < max). */
+    AxisInfoPtr axis;
 
     if (axisNum >= pDev->valuator->numAxes)
         return;
 
+    axis = pDev->valuator->axes + axisNum;
+
     /* If a value range is defined, clip. If not, do nothing */
     if (axis->max_value <= axis->min_value)
         return;


More information about the xorg-commit mailing list