user32.dll fix and test ShowOwnedPopups

Vitaliy Margolen wine-devel at kievinfo.com
Wed May 11 22:53:29 CDT 2005


Wednesday, May 11, 2005, 8:02:11 PM, you wrote:

> "Vitaliy Margolen" <wine-patch at kievinfo.com> wrote:

>> ShowOwnedPopups should handle none WS_POPUP style windows as well.
>> And actually show/hide windows.
>> Match names for WM_SHOWWINDOW status codes to MSDN

>> @@ -2701,6 +2701,7 @@ BOOL WINAPI ShowOwnedPopups( HWND owner,
>>                       * regardless of the state of the owner
>>                       */
>>                      SendMessageW(win_array[count], WM_SHOWWINDOW, SW_SHOW, SW_PARENTOPENING);
>> +                    ShowWindow(win_array[count], SW_SHOW);
>>                      continue;
>>                  }
>>              }
>> @@ -2715,6 +2716,7 @@ BOOL WINAPI ShowOwnedPopups( HWND owner,
>>                       * regardless of the state of the owner
>>                       */
>>                      SendMessageW(win_array[count], WM_SHOWWINDOW, SW_HIDE, SW_PARENTCLOSING);
>> +                    ShowWindow(win_array[count], SW_HIDE);

> Then each owned window will receive 2 WM_SHOWWINDOW messages. Are you sure
> that Windows does it that way? I'd advise to write a message test to verify it.
That's exactly what happens. Window receives two WM_SHOWWINDOW messages. One
with lparam indicating a reason for show/hide. And another one with lparam=0,
which indicates native calls ShowWindow and not SetWindowPos directly.

As for the tests, I could, but I don't think it's that critical. As you can see,
I just verified that window has to be shown/hidden and not just to receive a
message.

Vitaliy.







More information about the wine-devel mailing list