[PATCH v2] systray: Hide systray for fullscreen games

Hamish Claxton hamishclaxton at gmail.com
Sat Dec 29 17:40:47 CST 2018


This patch fixes a bug where if using the Wine virtual desktop,
changing resolutions in a fullscreen game would cause the systray
to be drawn over the game window.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40828
Signed-off-by: Hamish Claxton <hamishclaxton at gmail.com>
---
v2: Properly do the resolution checks

 programs/explorer/systray.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/programs/explorer/systray.c b/programs/explorer/systray.c
index 3d36f74e16..893a9dadda 100644
--- a/programs/explorer/systray.c
+++ b/programs/explorer/systray.c
@@ -780,7 +780,11 @@ static LRESULT WINAPI tray_wndproc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM l
 
     case WM_DISPLAYCHANGE:
         if (hide_systray || (!nb_displayed && !enable_shell)) do_hide_systray();
-        else do_show_systray();
+        else {
+            if ( !( GetSystemMetrics( SM_CXFULLSCREEN ) >= GetSystemMetrics( SM_CXSCREEN )
+                    && GetSystemMetrics( SM_CYFULLSCREEN ) >= GetSystemMetrics( SM_CYSCREEN ) ) )
+                do_show_systray();
+        }
         break;
 
     case WM_TIMER:
-- 
2.20.1




More information about the wine-devel mailing list