From 197ac808fd0d1424ae2c9111ff2e87754ecb3a0d Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 27 Jan 2026 14:05:34 +0100 Subject: [PATCH] [client,sdl] handle render events in SdlContext --- client/SDL/SDL3/sdl_context.cpp | 5 ++++- client/SDL/SDL3/sdl_freerdp.cpp | 9 --------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/client/SDL/SDL3/sdl_context.cpp b/client/SDL/SDL3/sdl_context.cpp index fb7b9bc60..d3fe86dcc 100644 --- a/client/SDL/SDL3/sdl_context.cpp +++ b/client/SDL/SDL3/sdl_context.cpp @@ -1107,7 +1107,10 @@ bool SdlContext::handleEvent(const SDL_Event& ev) const auto& cev = ev.key; return getInputChannelContext().handleEvent(cev); } - break; + case SDL_EVENT_RENDER_TARGETS_RESET: + case SDL_EVENT_RENDER_DEVICE_RESET: + case SDL_EVENT_WILL_ENTER_FOREGROUND: + return redraw(); default: return true; } diff --git a/client/SDL/SDL3/sdl_freerdp.cpp b/client/SDL/SDL3/sdl_freerdp.cpp index edd41bf75..81d86a1c3 100644 --- a/client/SDL/SDL3/sdl_freerdp.cpp +++ b/client/SDL/SDL3/sdl_freerdp.cpp @@ -115,15 +115,6 @@ static void sdl_term_handler([[maybe_unused]] int signum, [[maybe_unused]] const case SDL_EVENT_QUIT: freerdp_abort_connect_context(sdl->context()); break; - case SDL_EVENT_RENDER_TARGETS_RESET: - std::ignore = sdl->redraw(); - break; - case SDL_EVENT_RENDER_DEVICE_RESET: - std::ignore = sdl->redraw(); - break; - case SDL_EVENT_WILL_ENTER_FOREGROUND: - std::ignore = sdl->redraw(); - break; case SDL_EVENT_USER_CERT_DIALOG: { SDLConnectionDialogHider hider(sdl);