don't send fictious menu events when another WM_COMMAND occurs while a popup menu is shown

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-11-03 00:34:44 +00:00
parent 2f7adba06f
commit 8c290175b3

View File

@@ -3522,7 +3522,7 @@ bool wxWindowMSW::HandleGetMinMaxInfo(void *mmInfo)
bool wxWindowMSW::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control) bool wxWindowMSW::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control)
{ {
#if wxUSE_MENUS_NATIVE #if wxUSE_MENUS_NATIVE
if ( wxCurrentPopupMenu ) if ( !cmd && wxCurrentPopupMenu )
{ {
wxMenu *popupMenu = wxCurrentPopupMenu; wxMenu *popupMenu = wxCurrentPopupMenu;
wxCurrentPopupMenu = NULL; wxCurrentPopupMenu = NULL;
@@ -3531,14 +3531,14 @@ bool wxWindowMSW::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control)
} }
#endif // wxUSE_MENUS_NATIVE #endif // wxUSE_MENUS_NATIVE
wxWindow *win = (wxWindow*) NULL; wxWindow *win = NULL;
if ( cmd == 0 || cmd == 1 ) // menu or accel - use id if ( cmd == 0 || cmd == 1 ) // menu or accel - use id
{ {
// must cast to a signed type before comparing with other ids! // must cast to a signed type before comparing with other ids!
win = FindItem((signed short)id); win = FindItem((signed short)id);
} }
if (!win && control) if ( !win && control )
{ {
// find it from HWND - this works even with the broken programs using // find it from HWND - this works even with the broken programs using
// the same ids for different controls // the same ids for different controls