Explorar el Código

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

Sam Lantinga hace 4 meses
padre
commit
6baaa0fe87
Se han modificado 1 ficheros con 5 adiciones y 1 borrados
  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 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 = {
 SDL_RenderDriver SW_RenderDriver = {