summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-03-13 00:40:43 +0100
committerMaarten Maathuis <madman2003@gmail.com>2009-03-13 00:44:48 +0100
commit89d7b88f32f9227fa72a043675367b94c4c9283c (patch)
tree4a0fd9bf2f87c176d77a3339427e74878f5aa6f0
parent544cd9e7b50cd9905afc52404de1a5a2bcff91b5 (diff)
exa: allow exaModifyPixmapHeader to set sys_ptr for EXA_HANDLES_PIXMAPS
- exaModifyPixmapHeader would save sys_ptr if needed, but it would be NULL'ed afterwards. - This is needed to support pixmaps that are not offscreen.
-rw-r--r--exa/exa.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/exa/exa.c b/exa/exa.c
index b5f3542d3..7145e1253 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -332,12 +332,14 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
return NULL;
}
- (*pScreen->ModifyPixmapHeader)(pPixmap, w, h, 0, 0,
- paddedWidth, NULL);
- pExaPixmap->score = EXA_PIXMAP_SCORE_PINNED;
- pExaPixmap->fb_ptr = NULL;
- pExaPixmap->pDamage = NULL;
- pExaPixmap->sys_ptr = pPixmap->devPrivate.ptr;
+ /* Allow ModifyPixmapHeader to set sys_ptr appropriately. */
+ pExaPixmap->score = EXA_PIXMAP_SCORE_PINNED;
+ pExaPixmap->fb_ptr = NULL;
+ pExaPixmap->pDamage = NULL;
+ pExaPixmap->sys_ptr = NULL;
+
+ (*pScreen->ModifyPixmapHeader)(pPixmap, w, h, 0, 0,
+ paddedWidth, NULL);
} else {
pExaPixmap->driverPriv = NULL;