"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

Reply via email to