From 6baaa0fe871e75669ff10bd5e04551d2d21e141e Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 10 Nov 2025 16:07:17 -0800
Subject: [PATCH] Destroy the window surface if a software renderer couldn't be
created
---
src/render/software/SDL_render_sw.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/render/software/SDL_render_sw.c b/src/render/software/SDL_render_sw.c
index 484a6b3984d1c..424aa5f1de5e6 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 = {