diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-09-03 19:11:02 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-09-03 19:11:02 +0200 |
commit | 8e873185f4cbfb2a36e1f43fe7da47fd9fd5aeea (patch) | |
tree | 9025fa2394c12eeed66a7f8e04401a4696c24bca | |
parent | 120286aef59dabdb7c9fa762e08457e5cc8ec3a6 (diff) |
EXA: Preserve pPixmap->devPrivate.ptr in exaPixmapIsOffscreen_mixed.
Otherwise we may incorrectly clobber it to NULL on repeated PrepareAccess
calls.
-rw-r--r-- | exa/exa_mixed.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c index 7ba62ea5f..01f87ba87 100644 --- a/exa/exa_mixed.c +++ b/exa/exa_mixed.c @@ -236,14 +236,16 @@ exaPixmapIsOffscreen_mixed(PixmapPtr pPixmap) ScreenPtr pScreen = pPixmap->drawable.pScreen; ExaScreenPriv(pScreen); ExaPixmapPriv(pPixmap); + pointer saved_ptr; Bool ret; if (!pExaPixmap->driverPriv) return FALSE; + saved_ptr = pPixmap->devPrivate.ptr; pPixmap->devPrivate.ptr = ExaGetPixmapAddress(pPixmap); ret = pExaScr->info->PixmapIsOffscreen(pPixmap); - pPixmap->devPrivate.ptr = NULL; + pPixmap->devPrivate.ptr = saved_ptr; return ret; } |