[1/3] user32/tests: Comment-out PostQuitMessage (causes tests skip)

Alexey Slepov sir-lexa at yandex.ru
Thu May 31 15:28:31 CDT 2012


Guys, so how about this?

diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c
index 6bd34b3..4301c8d 100644
--- a/dlls/user32/tests/dialog.c
+++ b/dlls/user32/tests/dialog.c
@@ -1027,9 +1027,6 @@ static INT_PTR CALLBACK DestroyOnCloseDlgWinProc (HWND hDlg, UINT uiMsg,
     case WM_CLOSE:
         DestroyWindow(hDlg);
         return TRUE;
-    case WM_DESTROY:
-        PostQuitMessage(0);
-        return TRUE;
     }
     return FALSE;
 }


29.05.2012, 01:16, "Alexey Slepov" <sir-lexa at yandex.ru>:

>  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" <dmitry at baikal.ru>:
>>   sir-lexa <sir-lexa at yandex.ru> 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.



More information about the wine-devel mailing list