[PATCH] user32: Return correct showCmd from GetWindowPlacement() for other process window.
Paul Gofman
gofmanp at gmail.com
Tue Aug 13 04:20:27 CDT 2019
On 8/13/19 12:12, Alexandre Julliard wrote:
> Paul Gofman <gofmanp at gmail.com> writes:
>
>> @@ -1280,11 +1280,38 @@ BOOL WINAPI GetWindowPlacement( HWND hwnd, WINDOWPLACEMENT *wndpl )
>> }
>> if (pWnd == WND_OTHER_PROCESS)
>> {
>> - if (!IsWindow( hwnd )) return FALSE;
>> - FIXME( "not supported on other process window %p\n", hwnd );
>> - /* provide some dummy information */
>> + DWORD style, is_window;
>> +
>> + FIXME( "not fully supported on other process window %p.\n", hwnd );
>> +
>> + SERVER_START_REQ( set_window_info )
>> + {
>> + req->handle = wine_server_user_handle( hwnd );
>> + req->flags = 0; /* don't set anything, just retrieve */
>> + req->extra_offset = -1;
>> + req->extra_size = 0;
>> + if (wine_server_call_err( req ))
>> + {
>> + style = 0;
>> + is_window = FALSE;
>> + }
>> + else
>> + {
>> + style = reply->old_style;
>> + is_window = TRUE;
>> + }
>> + }
>> + SERVER_END_REQ;
>> +
>> + if (!is_window)
>> + return FALSE;
> You can use GetWindowLong() for this, there's no need to add a server
> call here.
>
This will add an extra server call for other process window from
GetWindowLong(). The two were already there: one for IsWindow(), another
for getting rectangle below. I thought it might be better not to
introduce the third one. Should I use GetWindowLong() regardless?
More information about the wine-devel
mailing list