par+wine_devel at silistix.com
Wed Oct 20 11:49:23 CDT 2004
"Dmitry Timoshkov" <dmitry at baikal.ru> writes:
> "Peter Riocreux" <par+wine_devel at silistix.com> 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!
More information about the wine-devel