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