winex11.drv: Leave fullscreen state alone when minimizing.

Vincent Povirk madewokherd at gmail.com
Thu Jul 10 15:51:46 CDT 2014


-------------- next part --------------
From 339838ccb0a1643c5ab33c8a86824d98d68ca9e9 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Thu, 10 Jul 2014 15:29:29 -0500
Subject: [PATCH] winex11.drv: Leave fullscreen state alone when minimizing.

Currently, when we minimize a fullscreen window, we send the WM an iconify
request followed by an unfullscreen request. Sometimes, window managers
process the unfullscreen request first, causing a reconfigure that we didn't
want.

Firefox for Linux leaves the fullscreen state set while minimized, so WM's
should generally be able to cope with this.
---
 dlls/winex11.drv/window.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 8797a44..c9849bb 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -974,6 +974,8 @@ void update_net_wm_states( struct x11drv_win_data *data )
     if (data->whole_window == root_window) return;
 
     style = GetWindowLongW( data->hwnd, GWL_STYLE );
+    if (style & WS_MINIMIZE)
+        new_state |= (data->net_wm_state & (1<<NET_WM_STATE_FULLSCREEN));
     if (is_window_rect_fullscreen( &data->whole_rect ))
     {
         if ((style & WS_MAXIMIZE) && (style & WS_CAPTION) == WS_CAPTION)
-- 
1.8.3.2



More information about the wine-patches mailing list