st/xorg: Fix leave enter vt cycle in crtc code
authorJakob Bornecrantz <jakob@vmware.com>
Fri, 4 Dec 2009 15:05:03 +0000 (16:05 +0100)
committerJakob Bornecrantz <jakob@vmware.com>
Fri, 4 Dec 2009 15:50:12 +0000 (16:50 +0100)
src/gallium/state_trackers/xorg/xorg_crtc.c

index be9fcbc7130590f780b027075efc20dab3bbbf75..337449a7451c63acc099ca96f686f7713e78b320 100644 (file)
@@ -307,8 +307,6 @@ xorg_crtc_cursor_destroy(xf86CrtcPtr crtc)
     if (crtcp->cursor_bo)
        kms_bo_destroy(&crtcp->cursor_bo);
 #endif
-
-    xfree(crtcp);
 }
 
 /*
@@ -320,11 +318,12 @@ crtc_destroy(xf86CrtcPtr crtc)
 {
     struct crtc_private *crtcp = crtc->driver_private;
 
-    if (crtcp->cursor_tex)
-       pipe_texture_reference(&crtcp->cursor_tex, NULL);
+    xorg_crtc_cursor_destroy(crtc);
 
     drmModeFreeCrtc(crtcp->drm_crtc);
+
     xfree(crtcp);
+    crtc->driver_private = NULL;
 }
 
 static const xf86CrtcFuncsRec crtc_funcs = {