xserver: Branch 'master'

Tilman Sauerbeck tilman at kemper.freedesktop.org
Mon Sep 11 20:43:45 EEST 2006


 render/picture.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

New commits:
diff-tree fc30370d14125f86ee1192890a184881fa139546 (from 2b357e9a2f9038cf9cd07da908e3103a3d0965c9)
Author: Tilman Sauerbeck <tilman at code-monkey.de>
Date:   Mon Sep 11 19:43:09 2006 +0200

    Bug #8226: Fixed SetPictureTransform()'s handling of the argument matrix.
    
    It now recognizes scaled variants of the identity matrix, too.

diff --git a/render/picture.c b/render/picture.c
index 566d91e..a9910ab 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -1459,18 +1459,24 @@ SetPictureClipRegion (PicturePtr    pPic
     return result;
 }
 
+static Bool
+transformIsIdentity(PictTransform *t)
+{
+    return ((t->matrix[0][0] == t->matrix[1][1]) &&
+            (t->matrix[0][0] == t->matrix[2][2]) &&
+            (t->matrix[0][1] == 0) &&
+            (t->matrix[0][2] == 0) &&
+            (t->matrix[1][0] == 0) &&
+            (t->matrix[1][2] == 0) &&
+            (t->matrix[2][0] == 0) &&
+            (t->matrix[2][1] == 0));
+}
 
 int
 SetPictureTransform (PicturePtr	    pPicture,
 		     PictTransform  *transform)
 {
-    static const PictTransform	identity = { {
-	{ xFixed1, 0x00000, 0x00000 },
-	{ 0x00000, xFixed1, 0x00000 },
-	{ 0x00000, 0x00000, xFixed1 },
-    } };
-
-    if (transform && memcmp (transform, &identity, sizeof (PictTransform)) == 0)
+    if (transform && transformIsIdentity (transform))
 	transform = 0;
     
     if (transform)



More information about the xorg-commit mailing list