https://bugs.winehq.org/show_bug.cgi?id=37064
--- Comment #5 from Piotr Caban piotr.caban@gmail.com --- Because of the DrawMenuBar change the application executes different code path. I can reproduce the bug with following test:
HWND win = CreateWindowEx(0, L"static", L"static", WS_VISIBLE, 0, 0, 100, 100, 0, 0, 0, 0);
RECT rect = {0, 0, 100, 100}; ClipCursor(&rect); DestroyWindow(win); PostQuitMessage(0); ClipCursor(NULL);
MSG msg; printf("--> %x\n", PeekMessage(&msg, 0, 0, 0, 0)); printf("%x\n", msg.message);
It's only reproducible when winex11.drv is used. For some reason sometimes WM_QUIT message is getting removed (it's probably a race).