diff options
author | Maarten Maathuis <madman2003@gmail.com> | 2009-03-13 00:40:43 +0100 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2009-03-13 00:44:48 +0100 |
commit | 89d7b88f32f9227fa72a043675367b94c4c9283c (patch) | |
tree | 4a0fd9bf2f87c176d77a3339427e74878f5aa6f0 | |
parent | 544cd9e7b50cd9905afc52404de1a5a2bcff91b5 (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.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -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; |