From f532b04712a0364f2be38a335eba788ed26fd618 Mon Sep 17 00:00:00 2001 From: Marcus Minhorst Date: Tue, 26 Aug 2025 22:49:05 -0400 Subject: [PATCH] Maybe fix initial paint Needs to be upstreamed after confirming this does in fact fix things --- libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp b/libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp index 27c644050..44bdfb0ec 100644 --- a/libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp +++ b/libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp @@ -107,12 +107,14 @@ void SDL2DisplayWindow::SetClientFrame(const Rect& box) void SDL2DisplayWindow::Show() { SDL_ShowWindow(Handle.window); + WindowHost->OnWindowPaint(); } void SDL2DisplayWindow::ShowFullscreen() { SDL_ShowWindow(Handle.window); SDL_SetWindowFullscreen(Handle.window, SDL_WINDOW_FULLSCREEN_DESKTOP); + WindowHost->OnWindowPaint(); isFullscreen = true; } @@ -120,12 +122,14 @@ void SDL2DisplayWindow::ShowMaximized() { SDL_ShowWindow(Handle.window); SDL_MaximizeWindow(Handle.window); + WindowHost->OnWindowPaint(); } void SDL2DisplayWindow::ShowMinimized() { SDL_ShowWindow(Handle.window); SDL_MinimizeWindow(Handle.window); + WindowHost->OnWindowPaint(); } void SDL2DisplayWindow::ShowNormal() @@ -133,6 +137,7 @@ void SDL2DisplayWindow::ShowNormal() SDL_ShowWindow(Handle.window); SDL_SetWindowFullscreen(Handle.window, 0); isFullscreen = false; + WindowHost->OnWindowPaint(); } bool SDL2DisplayWindow::IsWindowFullscreen() @@ -469,7 +474,7 @@ void SDL2DisplayWindow::OnWindowEvent(const SDL_WindowEvent& event) { case SDL_WINDOWEVENT_CLOSE: WindowHost->OnWindowClose(); break; case SDL_WINDOWEVENT_MOVED: WindowHost->OnWindowGeometryChanged(); break; - case SDL_WINDOWEVENT_RESIZED: WindowHost->OnWindowGeometryChanged(); break; + case SDL_WINDOWEVENT_RESIZED: WindowHost->OnWindowGeometryChanged(); WindowHost->OnWindowPaint(); break; case SDL_WINDOWEVENT_SHOWN: WindowHost->OnWindowPaint(); break; case SDL_WINDOWEVENT_EXPOSED: WindowHost->OnWindowPaint(); break; case SDL_WINDOWEVENT_FOCUS_GAINED: WindowHost->OnWindowActivated(); break;