mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-10 02:00:43 +01:00
EXA: Preserve pPixmap->devPrivate.ptr in exaPixmapIsOffscreen_mixed.
Otherwise we may incorrectly clobber it to NULL on repeated PrepareAccess calls.
This commit is contained in:
parent
120286aef5
commit
8e873185f4
1 changed files with 3 additions and 1 deletions
|
|
@ -236,14 +236,16 @@ exaPixmapIsOffscreen_mixed(PixmapPtr pPixmap)
|
||||||
ScreenPtr pScreen = pPixmap->drawable.pScreen;
|
ScreenPtr pScreen = pPixmap->drawable.pScreen;
|
||||||
ExaScreenPriv(pScreen);
|
ExaScreenPriv(pScreen);
|
||||||
ExaPixmapPriv(pPixmap);
|
ExaPixmapPriv(pPixmap);
|
||||||
|
pointer saved_ptr;
|
||||||
Bool ret;
|
Bool ret;
|
||||||
|
|
||||||
if (!pExaPixmap->driverPriv)
|
if (!pExaPixmap->driverPriv)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
saved_ptr = pPixmap->devPrivate.ptr;
|
||||||
pPixmap->devPrivate.ptr = ExaGetPixmapAddress(pPixmap);
|
pPixmap->devPrivate.ptr = ExaGetPixmapAddress(pPixmap);
|
||||||
ret = pExaScr->info->PixmapIsOffscreen(pPixmap);
|
ret = pExaScr->info->PixmapIsOffscreen(pPixmap);
|
||||||
pPixmap->devPrivate.ptr = NULL;
|
pPixmap->devPrivate.ptr = saved_ptr;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue