Commit 60435712f2c9bffb7c244c69f8e406e9854f9376

Ryan C. Gordon 2020-06-03T16:42:19

video: Set window->surface NULL after freeing it. Otherwise, when SDL_CreateWindowFramebuffer() is called again, it will return the free'd surface instead of creating a new one.

1
2
3
4
5
6
7
8
9
10
11
12
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index bebd566..dabdd8f 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -2374,6 +2374,7 @@ SDL_GetWindowSurface(SDL_Window * window)
         if (window->surface) {
             window->surface->flags &= ~SDL_DONTFREE;
             SDL_FreeSurface(window->surface);
+            window->surface = NULL;
         }
         window->surface = SDL_CreateWindowFramebuffer(window);
         if (window->surface) {