diff --git a/src/render/software/SDL_render_sw.c b/src/render/software/SDL_render_sw.c index 484a6b3984..424aa5f1de 100644 --- a/src/render/software/SDL_render_sw.c +++ b/src/render/software/SDL_render_sw.c @@ -1236,7 +1236,11 @@ static bool SW_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Pr return false; } - return SW_CreateRendererForSurface(renderer, surface, create_props); + if (!SW_CreateRendererForSurface(renderer, surface, create_props)) { + SDL_DestroyWindowSurface(window); + return false; + } + return true; } SDL_RenderDriver SW_RenderDriver = {