http://bugs.winehq.org/show_bug.cgi?id=12540
--- Comment #11 from Igor Tarasov tarasov.igor@gmail.com 2008-05-09 01:59:05 --- Finally. Here is the root: this menu is supposed to have MNS_NOTIFYBYPOS style. It is being set up, you may find a fixme signalizing about this.
fixme:menu:SetMenuInfo MNS_NOTIFYBYPOS partially implemented
Then, when it comes to the routine where it should read this style and react correspondingly:
if (menu->dwStyle & MNS_NOTIFYBYPOS) PostMessageW( pmt->hOwnerWnd, WM_MENUCOMMAND, menu->FocusedItem, (LPARAM)hMenu); else PostMessageW( pmt->hOwnerWnd, WM_COMMAND, item->wID, 0 );
menu->dwStyle & MNS_NOTIFYBYPOS is zero!
I've suggested that this behaviour might result in the fact that MIM_APPLYTOSUBMENUS is not implemented, and added new fixme to SetMenuInfo
if (lpmi->fMask & MIM_APPLYTOSUBMENUS) FIXME("MIM_APPLYTOSUBMENUS not implemented\n");
But the problem is: it was never thrown. So, I am kinda lost. The fact is: this menu's style is being set to MNS_NOTIFYBYPOS, but later it is somehow reset.