[PATCH] winex11.drv: Make Update _NET_WM_STATE before replaces the size hints for the WM_NORMAL_HINTS property.

Zhiyi Zhang zzhang at codeweavers.com
Wed Jan 6 22:36:10 CST 2021


Could you submit a test for this change?


On 1/7/21 11:38 AM, Jiajin Cui wrote:
>
> 0001-winex11.drv-Make-Update-_NET_WM_STATE-before-replace.patch
>
> From 1c36e284b4edd050a3fcda893425be35aa3643cb Mon Sep 17 00:00:00 2001
> From: Jiajin Cui <cuijiajin at uniontech.com>
> Date: Thu, 7 Jan 2021 10:21:24 +0800
> Subject: [PATCH] winex11.drv: Make Update _NET_WM_STATE before replaces the
>  size hints for the WM_NORMAL_HINTS property.
>
> For windows without WS_THICKFRAME style, _NET_WM_STATE must be set first,
> otherwise _NET_WM_STATE_MAXIMIZED_VERT and _NET_WM_STATE_MAXIMIZED_HORZ
> cannot be removed when the window is restored to normal.
>
> Signed-off-by: Jiajin Cui <cuijiajin at uniontech.com>
> ---
>  dlls/winex11.drv/window.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
> index baaa30d74e3..8d9483646d1 100644
> --- a/dlls/winex11.drv/window.c
> +++ b/dlls/winex11.drv/window.c
> @@ -1306,9 +1306,9 @@ static void sync_window_position( struct x11drv_win_data *data,
>          /* and Above with a sibling doesn't work so well either, so we ignore it */
>      }
>  
> +    update_net_wm_states( data );
>      set_size_hints( data, style );
>      set_mwm_hints( data, style, ex_style );
> -    update_net_wm_states( data );
>      data->configure_serial = NextRequest( data->display );
>      XReconfigureWMWindow( data->display, data->whole_window, data->vis.screen, mask, &changes );
>  #ifdef HAVE_LIBXSHAPE

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210107/bbbef192/attachment-0001.htm>


More information about the wine-devel mailing list