summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2012-04-13 12:20:29 +0100
committerDave Airlie <airlied@gmail.com>2012-04-13 12:20:29 +0100
commit24e3aade428c4d30a82bf0ab4d4ac1d3af068bff (patch)
tree4c4e7763a82b8952b8f7297f59ce4c5f50f1c4ff
parent97812828fdf9e26f01123a13e660027e3cc574a4 (diff)
gc: fix crash in fbValidateGC
-rw-r--r--drv/imped_gc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drv/imped_gc.c b/drv/imped_gc.c
index b5fc39e59..edc803721 100644
--- a/drv/imped_gc.c
+++ b/drv/imped_gc.c
@@ -79,6 +79,14 @@ impedValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
for (i = 0; i < pGC->pScreen->num_gpu; i++) {
pDrvGC = pGC->gpu[i];
+ /* check tile pixmap */
+ if (pGC->fillStyle == FillTiled && !pGC->tileIsPixel) {
+ if (pDrvGC->tile.pixmap != pGC->tile.pixmap->gpu[i]) {
+ pDrvGC->tile.pixmap = pGC->tile.pixmap->gpu[i];
+ pDrvGC->tile.pixmap->refcnt++;
+ }
+ }
+
pDrvGC->funcs->ValidateGC(pDrvGC, changes, &pPixmap->gpu[i]->drawable);
}
#ifdef COMPOSITE