From c5ec1585f6e5211a2b63e3435748210552250534 Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Tue, 25 Aug 2020 15:20:39 +0800 Subject: [PATCH] winex11.drv: Always update _NET_WM_STATE in update_net_wm_states(). KWin treats a window covering exactly the whole monitor as maximized when handling its first map request and expects applications to update maximized state later. Wine doesn't know about this added maximized state and expect it unchanged, making the window always maximized as far as KWin is concerned. So always send _NET_WM_STATE updates even if Wine doesn't expect changes to hint KWin that a window should not be maximized. Fix test failures when running the tests introduced by 36b720357bcaf0a1e625f488e0c981ce10e8affa with KWin. Signed-off-by: Zhiyi Zhang Signed-off-by: Alexandre Julliard --- dlls/winex11.drv/window.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index f4920b802e2..09475d1adb1 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -996,8 +996,6 @@ void update_net_wm_states( struct x11drv_win_data *data ) for (i = 0; i < NB_NET_WM_STATES; i++) { - if (!((data->net_wm_state ^ new_state) & (1 << i))) continue; /* unchanged */ - TRACE( "setting wm state %u for window %p/%lx to %u prev %u\n", i, data->hwnd, data->whole_window, (new_state & (1 << i)) != 0, (data->net_wm_state & (1 << i)) != 0 );