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.
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) {