Przeglądaj źródła

Destroy the window surface if a software renderer couldn't be created

Sam Lantinga 4 miesięcy temu
rodzic
commit
6baaa0fe87
1 zmienionych plików z 5 dodań i 1 usunięć
  1. 5 1
      src/render/software/SDL_render_sw.c

+ 5 - 1
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 = {