"Dmitry Timoshkov" <[EMAIL PROTECTED]> writes: > "Peter Riocreux" <[EMAIL PROTECTED]> wrote: > >> > You have to write a test case and add it to existing ones in >> > dlls/user/tests/win.c to confirm that the patch is correct. >> >> Is something that creates a tree of windows and then makes a parent >> invisible and checks the visibility state of the children sufficient? > > Yes, that should be sufficient. You have to test WS_VISIBLE style > of children, IsWindowVisible check is not enough. I think that your > patch is wrong.
It is indeed, but I am not knowledgable enough about the order things get done to fix it simply. I wrote a test along the lines I guessed and the hiding works but the unhiding doesn't, even when I explicitly add a SWP_SHOWWINDOW flag and try both checking WS_VISIBLE property and IsWindowVisible. I put some printf's in and it always things the window is hidden when it calls the function. Is the SWP_DoOwnedPopups being called before the state of the parent is updated? Should a ShowOwnedPopups call be made after the window state is updated? Thinking further, I wonder whether there ought to be anything to do with visibility in that function - which seems to be mainly concerned with the stacking of windows - or if the visibility ought to be managed from ShowWindow/HideWindow. I am somewhat lost! Peter k