Finish any drawing when destroying a software renderer
Fixes the SDL3 version of https://github.com/libsdl-org/sdl2-compat/issues/373
This commit is contained in:
@@ -5214,7 +5214,12 @@ void SDL_DestroyRendererWithoutFreeing(SDL_Renderer *renderer)
|
|||||||
SDL_RemoveWindowRenderer(renderer->window, renderer);
|
SDL_RemoveWindowRenderer(renderer->window, renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_DiscardAllCommands(renderer);
|
if (renderer->software) {
|
||||||
|
// Make sure all drawing to a surface is complete
|
||||||
|
FlushRenderCommands(renderer);
|
||||||
|
} else {
|
||||||
|
SDL_DiscardAllCommands(renderer);
|
||||||
|
}
|
||||||
|
|
||||||
if (renderer->debug_char_texture_atlas) {
|
if (renderer->debug_char_texture_atlas) {
|
||||||
SDL_DestroyTexture(renderer->debug_char_texture_atlas);
|
SDL_DestroyTexture(renderer->debug_char_texture_atlas);
|
||||||
|
|||||||
Reference in New Issue
Block a user