http://bugs.winehq.org/show_bug.cgi?id=9615
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #28 from Anastasius Focht focht@gmx.net 2008-10-04 19:24:53 --- Hello,
the second part of the patch can't obviously be correct. That message id is an application internal one, used to trigger next (menu) action - hence you won't find any related information on the internet.
The reason why this patch "works" is because this internal message is *posted* every time after the app sends WM_CANCELMODE to the owner window of the popup - which ought to dismiss it. That WM_CANCELMODE message is sent using SendMessage() which directly calls into window proc - not seen by menu tracking message pump.
Wine's default WM_CANCELMODE handler doesn't call EndMenu() when the receiving end is a child window/control (WS_CHILD set, popup owner -> toolbar). EndMenu() should force the menu tracking message pump to exit. I'm curious why this restriction to non child windows exists here. Any parent window/control which owns the active menu can have such style.
Regards