[PATCH 07/10] user32: Correctly place minimized windows.

Alexandre Julliard julliard at winehq.org
Tue Feb 19 05:33:16 CST 2019


Zebediah Figura <z.figura12 at gmail.com> writes:

> diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
> index 1a61b6cf2c..7e08abdfa2 100644
> --- a/dlls/winex11.drv/window.c
> +++ b/dlls/winex11.drv/window.c
> @@ -2443,17 +2443,6 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
>      release_win_data( data );
>  }
>  
> -/* check if the window icon should be hidden (i.e. moved off-screen) */
> -static BOOL hide_icon( struct x11drv_win_data *data )
> -{
> -    static const WCHAR trayW[] = {'S','h','e','l','l','_','T','r','a','y','W','n','d',0};
> -
> -    if (data->managed) return TRUE;
> -    /* hide icons in desktop mode when the taskbar is active */
> -    if (root_window == DefaultRootWindow( gdi_display )) return FALSE;
> -    return IsWindowVisible( FindWindowW( trayW, NULL ));
> -}
> -
>  /***********************************************************************
>   *           ShowWindow   (X11DRV.@)
>   */
> @@ -2469,15 +2458,7 @@ UINT CDECL X11DRV_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp )
>  
>      if (!data || !data->whole_window) goto done;
>      if (IsRectEmpty( rect )) goto done;
> -    if (style & WS_MINIMIZE)
> -    {
> -        if (((rect->left != -32000 || rect->top != -32000)) && hide_icon( data ))
> -        {
> -            OffsetRect( rect, -32000 - rect->left, -32000 - rect->top );
> -            swp &= ~(SWP_NOMOVE | SWP_NOCLIENTMOVE);
> -        }
> -        goto done;
> -    }
> +    if (style & WS_MINIMIZE) goto done;

This means that there would be no way to recover the window if the
taskbar isn't active. I'm not sure that's what we want.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list