Create Renderer Only When It Doesn't Exist (#1315)

This commit is contained in:
adityaraj 2023-01-12 05:23:23 +05:30 committed by takase1121
parent c8afe3d1bf
commit ae218bc005
No known key found for this signature in database
GPG Key ID: 60EEFFC68EB3031B
1 changed files with 5 additions and 4 deletions

View File

@ -17,11 +17,12 @@ static int query_surface_scale(RenWindow *ren) {
static void setup_renderer(RenWindow *ren, int w, int h) { static void setup_renderer(RenWindow *ren, int w, int h) {
/* Note that w and h here should always be in pixels and obtained from /* Note that w and h here should always be in pixels and obtained from
a call to SDL_GL_GetDrawableSize(). */ a call to SDL_GL_GetDrawableSize(). */
if (ren->renderer) { if (!ren->renderer) {
SDL_DestroyTexture(ren->texture);
SDL_DestroyRenderer(ren->renderer);
}
ren->renderer = SDL_CreateRenderer(ren->window, -1, 0); ren->renderer = SDL_CreateRenderer(ren->window, -1, 0);
}
if (ren->texture) {
SDL_DestroyTexture(ren->texture);
}
ren->texture = SDL_CreateTexture(ren->renderer, SDL_PIXELFORMAT_BGRA32, SDL_TEXTUREACCESS_STREAMING, w, h); ren->texture = SDL_CreateTexture(ren->renderer, SDL_PIXELFORMAT_BGRA32, SDL_TEXTUREACCESS_STREAMING, w, h);
ren->surface_scale = query_surface_scale(ren); ren->surface_scale = query_surface_scale(ren);
} }