On Mon, Jun 12, 2023 at 10:39 AM Antonio Caggiano <quic_acagg...@quicinc.com> wrote:
> When OpenGL is enabled, create only the OpenGL context, ignoring the SDL > renderer as it is unused anyway. > > Signed-off-by: Antonio Caggiano <quic_acagg...@quicinc.com> > Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > ui/sdl2.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/ui/sdl2.c b/ui/sdl2.c > index 9d703200bf..0d91b555e3 100644 > --- a/ui/sdl2.c > +++ b/ui/sdl2.c > @@ -113,11 +113,11 @@ void sdl2_window_create(struct sdl2_console *scon) > > SDL_SetHint(SDL_HINT_RENDER_DRIVER, driver); > SDL_SetHint(SDL_HINT_RENDER_BATCHING, "1"); > - } > - scon->real_renderer = SDL_CreateRenderer(scon->real_window, -1, 0); > > - if (scon->opengl) { > scon->winctx = SDL_GL_CreateContext(scon->real_window); > + } else { > + /* The SDL renderer is only used by sdl2-2D, when OpenGL is > disabled */ > + scon->real_renderer = SDL_CreateRenderer(scon->real_window, -1, > 0); > } > sdl_update_caption(scon); > } > @@ -128,10 +128,14 @@ void sdl2_window_destroy(struct sdl2_console *scon) > return; > } > > - SDL_GL_DeleteContext(scon->winctx); > - scon->winctx = NULL; > - SDL_DestroyRenderer(scon->real_renderer); > - scon->real_renderer = NULL; > + if (scon->winctx) { > + SDL_GL_DeleteContext(scon->winctx); > + scon->winctx = NULL; > + } > + if (scon->real_renderer) { > + SDL_DestroyRenderer(scon->real_renderer); > + scon->real_renderer = NULL; > + } > SDL_DestroyWindow(scon->real_window); > scon->real_window = NULL; > } > -- > 2.40.0 > > > -- Marc-André Lureau