Explorar el Código

video: NULL out pointer to freed window surface

This behavior matches SDL_RecreateWindow and makes it less likely that
another piece of code (e.g. a DestroyWindowFramebuffer implementation)
will attempt to use or free the stale surface pointer.
Jay Petacat hace 5 años
padre
commit
8a5ee3faf9
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      src/video/SDL_video.c

+ 2 - 0
src/video/SDL_video.c

@@ -2796,6 +2796,8 @@ SDL_DestroyWindow(SDL_Window * window)
     if (window->surface) {
         window->surface->flags &= ~SDL_DONTFREE;
         SDL_FreeSurface(window->surface);
+        window->surface = NULL;
+        window->surface_valid = SDL_FALSE;
     }
     if (_this->DestroyWindowFramebuffer) {
         _this->DestroyWindowFramebuffer(_this, window);