I figured out now.
As described in wine sources, PostQuitMessage() sets a flag in the thread's 
message queue that signals it to generate
a WM_QUIT message when there are no other pending sent or posted messages in 
the queue.
The tests with skipped testcases are those which use WM_TIMER messages - 
test_timer_message() and my test.
In DIALOG_DoDialogBox() there is clearly defined that on receiving WM_QUIT 
message the window is destroyed. So timer messages just do not reach queue.

I thought about solution again and now I think that it would be better to 
remove at all lines about WM_DESTROY handling, such as we don't handle this 
message. And let it be handled by default. That code does nothing except 
posting WM_QUIT messages leading to test skipping. (test passed on WineBot)

What do you think?


28.05.2012, 10:32, "Dmitry Timoshkov" <[email protected]>:
> sir-lexa <[email protected]> wrote:
>
>>       case WM_DESTROY:
>>  -        PostQuitMessage(0);
>>  +        /* PostQuitMessage(0);   It lets some tests to be skipped */
>>           return TRUE;
>
> This is not acceptable, there is much more behind the scene. You need
> to figure out the real reason of skipping the tests.
>
> --
> Dmitry.


Reply via email to