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

Zebediah Figura z.figura12 at gmail.com
Tue Feb 19 09:03:10 CST 2019


On 2/19/19 5:33 AM, Alexandre Julliard wrote:
> 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.
> 

Right, I see. Judging from the test failures caused by SetShellWindow(), 
I guess the right thing to do in this case is to move it to the bottom 
left of the screen, like owned windows.



More information about the wine-devel mailing list