Otherwise, when SDL_CreateWindowFramebuffer() is called again, it will return the free'd surface instead of creating a new one.
@@ -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);