From d7ecbd99fd1df51ca77989b4724d1c9967a3ab18 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 16 Feb 2019 22:36:47 +1100 Subject: [PATCH] fix Window_GetVisible sometimes being wrong on linux --- src/Window.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Window.c b/src/Window.c index dad55edba..db2256284 100644 --- a/src/Window.c +++ b/src/Window.c @@ -968,10 +968,13 @@ void Window_SetClipboardText(const String* value) { } static bool win_visible; -bool Window_GetVisible(void) { return win_visible; } +bool Window_GetVisible(void) { + XWindowAttributes attr; + XGetWindowAttributes(win_display, win_handle, &attr); + return attr.map_state == IsViewable; +} void Window_SetVisible(bool visible) { - if (visible == win_visible) return; if (visible) { XMapWindow(win_display, win_handle); } else { @@ -2145,8 +2148,6 @@ void Window_SetClipboardText(const String* value) { bool Window_GetVisible(void) { return IsWindowVisible(win_handle); } void Window_SetVisible(bool visible) { - if (visible == Window_GetVisible()) return; - if (visible) { ShowWindow(win_handle); RepositionWindow(win_handle, NULL, kWindowCenterOnMainScreen);