Fix HMENU to wxMenu translation in wxMSW code.
We didn't find the menus corresponding to the submenu handles. This resulted in incorrect processing of EVT_UPDATE_UI events for the submenus and probably other problems. Fix this by searching for the HMENU recursively in all menus. Closes #13080. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -864,15 +864,7 @@ bool wxFrame::HandleInitMenuPopup(WXHMENU hMenu)
|
||||
wxMenu* menu = NULL;
|
||||
if (GetMenuBar())
|
||||
{
|
||||
int nCount = GetMenuBar()->GetMenuCount();
|
||||
for (int n = 0; n < nCount; n++)
|
||||
{
|
||||
if (GetMenuBar()->GetMenu(n)->GetHMenu() == hMenu)
|
||||
{
|
||||
menu = GetMenuBar()->GetMenu(n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
menu = GetMenuBar()->MSWGetMenu(hMenu);
|
||||
}
|
||||
|
||||
wxMenuEvent event(wxEVT_MENU_OPEN, 0, menu);
|
||||
|
||||
Reference in New Issue
Block a user