With SDL 2.0.6, calling SDL_ShowWindow during SDL_WINDOWEVENT_HIDDEN blocks all subsequent display updates.
Instead of trying to override the change, just update the scon->hidden flag. --- ui/sdl2.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ui/sdl2.c b/ui/sdl2.c index 53dd447fd2..774904cbf2 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -572,14 +572,10 @@ static void handle_windowevent(SDL_Event *ev) } break; case SDL_WINDOWEVENT_SHOWN: - if (scon->hidden) { - SDL_HideWindow(scon->real_window); - } + scon->hidden = false; break; case SDL_WINDOWEVENT_HIDDEN: - if (!scon->hidden) { - SDL_ShowWindow(scon->real_window); - } + scon->hidden = true; break; } } -- 2.15.0