Module: Mesa
Branch: master
Commit: 0469465c31371177d85ab7af103359500323c1f8
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0469465c31371177d85ab7af103359500323c1f8

Author: Michel Dänzer <[email protected]>
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);
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to