summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/picture.c7
-rw-r--r--render/picturestr.h5
2 files changed, 9 insertions, 3 deletions
diff --git a/render/picture.c b/render/picture.c
index a598f740b..3ed60310e 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -745,6 +745,7 @@ SetPictureToDefaults (PicturePtr pPicture)
pPicture->freeCompClip = FALSE;
pPicture->clientClipType = CT_NONE;
pPicture->componentAlpha = FALSE;
+ pPicture->repeatType = RepeatNone;
pPicture->alphaMap = 0;
pPicture->alphaOrigin.x = 0;
@@ -1174,7 +1175,10 @@ ChangePicture (PicturePtr pPicture,
unsigned int newr;
newr = NEXT_VAL(unsigned int);
if (newr <= RepeatReflect)
- pPicture->repeat = newr;
+ {
+ pPicture->repeat = (newr != RepeatNone);
+ pPicture->repeatType = newr;
+ }
else
{
client->errorValue = newr;
@@ -1501,6 +1505,7 @@ CopyPicture (PicturePtr pSrc,
{
case CPRepeat:
pDst->repeat = pSrc->repeat;
+ pDst->repeatType = pSrc->repeatType;
break;
case CPAlphaMap:
if (pSrc->alphaMap && pSrc->alphaMap->pDrawable->type == DRAWABLE_PIXMAP)
diff --git a/render/picturestr.h b/render/picturestr.h
index 58b840c6d..ab6785c33 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -134,7 +134,7 @@ typedef struct _Picture {
CARD32 id;
PicturePtr pNext; /* chain on same drawable */
- unsigned int repeat : 2;
+ unsigned int repeat : 1;
unsigned int graphicsExposures : 1;
unsigned int subWindowMode : 1;
unsigned int polyEdge : 1;
@@ -142,7 +142,8 @@ typedef struct _Picture {
unsigned int freeCompClip : 1;
unsigned int clientClipType : 2;
unsigned int componentAlpha : 1;
- unsigned int unused : 22;
+ unsigned int repeatType : 2;
+ unsigned int unused : 21;
PicturePtr alphaMap;
DDXPointRec alphaOrigin;