Mesa (master): st/xorg: Only unreference texture on pixmap destruction, don 't destroy it.
Michel Dänzer
daenzer at kemper.freedesktop.org
Tue Sep 15 16:40:42 UTC 2009
Module: Mesa
Branch: master
Commit: 0469465c31371177d85ab7af103359500323c1f8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0469465c31371177d85ab7af103359500323c1f8
Author: Michel Dänzer <daenzer at vmware.com>
Date: Tue Sep 15 18:31:07 2009 +0200
st/xorg: Only unreference texture on pixmap destruction, don't destroy it.
Fixes memory corruption if e.g. the driver still has references to the texture.
---
src/gallium/state_trackers/xorg/xorg_exa.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c
index 88149b9..7552489 100644
--- a/src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/src/gallium/state_trackers/xorg/xorg_exa.c
@@ -466,14 +466,11 @@ static void
ExaDestroyPixmap(ScreenPtr pScreen, void *dPriv)
{
struct exa_pixmap_priv *priv = (struct exa_pixmap_priv *)dPriv;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- modesettingPtr ms = modesettingPTR(pScrn);
if (!priv)
return;
- if (priv->tex)
- ms->screen->texture_destroy(priv->tex);
+ pipe_texture_reference(&priv->tex, NULL);
xfree(priv);
}
More information about the mesa-commit
mailing list