src/video/qnxgf/SDL_qnxgf.c
changeset 3124 d7174e9f65ce
parent 3116 b17f1ae7ad66
child 3125 d71d8ceda8b3
--- a/src/video/qnxgf/SDL_qnxgf.c	Thu May 14 11:50:05 2009 +0000
+++ b/src/video/qnxgf/SDL_qnxgf.c	Thu May 14 11:51:42 2009 +0000
@@ -208,6 +208,7 @@
    if (gfdata->gfinitialized!=SDL_FALSE)
    {
       gf_dev_detach(gfdata->gfdev);
+      gfdata->gfdev=NULL;
    }
 
    if (device->driverdata!=NULL)
@@ -529,7 +530,7 @@
 
 void qnxgf_videoquit(_THIS)
 {
-   SDL_DisplayData* didata;
+   SDL_DisplayData* didata=NULL;
    uint32_t it;
 
    /* Stop collecting mouse events */
@@ -546,10 +547,12 @@
       if (didata->cursor.cursor.bitmap.image0!=NULL)
       {
          SDL_free((void*)didata->cursor.cursor.bitmap.image0);
+         didata->cursor.cursor.bitmap.image0=NULL;
       }
       if (didata->cursor.cursor.bitmap.image1!=NULL)
       {
          SDL_free((void*)didata->cursor.cursor.bitmap.image1);
+         didata->cursor.cursor.bitmap.image1=NULL;
       }
 
       /* Free main surface */
@@ -581,6 +584,7 @@
 
          /* Detach from layer, free it for others */
          gf_layer_detach(didata->layer);
+         didata->layer=NULL;
 
          /* Mark it as detached */
          didata->layer_attached=SDL_FALSE;
@@ -588,6 +592,7 @@
 
       /* Detach from selected display */
       gf_display_detach(didata->display);
+      didata->display=NULL;
    }
 }