From 88475bd51740417b04bd86a40a33d938a6528ccb Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 30 Apr 2007 21:33:10 +0000 Subject: [PATCH] fix enable state of menus when the mouse is grabbed by a different window svn: r6105 --- src/wxmac/src/mac/wx_menu.cc | 10 ++++++---- src/wxmac/src/mac/wx_mnuit.cc | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wxmac/src/mac/wx_menu.cc b/src/wxmac/src/mac/wx_menu.cc index 68e0842727..7f0d03a0e8 100644 --- a/src/wxmac/src/mac/wx_menu.cc +++ b/src/wxmac/src/mac/wx_menu.cc @@ -758,12 +758,14 @@ void wxMenuBar::Install(wxWindow *for_frame) if (!v) { ::DisableMenuItem(mh, 0); } else { - if (menu_bar_frame) - v = menu_bar_frame->CanAcceptEvent(); - else + if (menu_bar_frame) { + /* Don't use CanAcceptEvent(), because that depends on + mouse capture, which is too transient for updating menus. */ + v = menu_bar_frame->IsEnable(); + } else v = 1; if (!v) { - ::DisableMenuItem(mh, 0); + ::DisableMenuItem(mh, 0); } else { ::EnableMenuItem(mh, 0); } diff --git a/src/wxmac/src/mac/wx_mnuit.cc b/src/wxmac/src/mac/wx_mnuit.cc index 64183a6cfd..d3078f5e74 100644 --- a/src/wxmac/src/mac/wx_mnuit.cc +++ b/src/wxmac/src/mac/wx_mnuit.cc @@ -174,7 +174,7 @@ void wxMenuItem::SetLabel(char* label) ::SetMenuItemHierarchicalID(nmh, macMenuItem, subMenu->cMacMenuId); if (!cIsEnabled) - DisableMenuItem(nmh, macMenuItem); + DisableMenuItem(nmh, macMenuItem); } }