"Vitaliy Margolen" wine-patch@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.
Wednesday, May 11, 2005, 8:02:11 PM, you wrote:
"Vitaliy Margolen" wine-patch@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.
"Vitaliy Margolen" wine-devel@kievinfo.com wrote:
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.
Actually a confirmation with a test case is mandatory for not obvious fixes or for fixes which could have side effects. I'd consider all window management/ message handling related patches to be in that category.