diff --git a/src/render/software/SDL_render_sw.c b/src/render/software/SDL_render_sw.c index 762680f21..24e15c3e3 100644 --- a/src/render/software/SDL_render_sw.c +++ b/src/render/software/SDL_render_sw.c @@ -990,8 +990,12 @@ static void SW_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture) static void SW_DestroyRenderer(SDL_Renderer *renderer) { + SDL_Window *window = renderer->window; SW_RenderData *data = (SW_RenderData *)renderer->driverdata; + if (window) { + SDL_DestroyWindowSurface(window); + } SDL_free(data); SDL_free(renderer); } @@ -1140,8 +1144,6 @@ SDL_Renderer *SW_CreateRendererForSurface(SDL_Surface *surface) SW_SelectBestFormats(renderer, surface->format->format); - SW_ActivateRenderer(renderer); - return renderer; }