diff options
Diffstat (limited to 'render')
-rw-r--r-- | render/picture.c | 7 | ||||
-rw-r--r-- | render/picturestr.h | 5 |
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; |