fix enable state of menus when the mouse is grabbed by a different window

svn: r6105
This commit is contained in:
Matthew Flatt 2007-04-30 21:33:10 +00:00
parent 047346c1c8
commit 88475bd517
2 changed files with 7 additions and 5 deletions

View File

@ -758,12 +758,14 @@ void wxMenuBar::Install(wxWindow *for_frame)
if (!v) { if (!v) {
::DisableMenuItem(mh, 0); ::DisableMenuItem(mh, 0);
} else { } else {
if (menu_bar_frame) if (menu_bar_frame) {
v = menu_bar_frame->CanAcceptEvent(); /* Don't use CanAcceptEvent(), because that depends on
else mouse capture, which is too transient for updating menus. */
v = menu_bar_frame->IsEnable();
} else
v = 1; v = 1;
if (!v) { if (!v) {
::DisableMenuItem(mh, 0); ::DisableMenuItem(mh, 0);
} else { } else {
::EnableMenuItem(mh, 0); ::EnableMenuItem(mh, 0);
} }

View File

@ -174,7 +174,7 @@ void wxMenuItem::SetLabel(char* label)
::SetMenuItemHierarchicalID(nmh, macMenuItem, subMenu->cMacMenuId); ::SetMenuItemHierarchicalID(nmh, macMenuItem, subMenu->cMacMenuId);
if (!cIsEnabled) if (!cIsEnabled)
DisableMenuItem(nmh, macMenuItem); DisableMenuItem(nmh, macMenuItem);
} }
} }