diff --git a/docs/changes.txt b/docs/changes.txt index 2eed312fea..49d6909fcf 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -599,6 +599,7 @@ wxMSW: - Fix size of the icon returned from wxFSVolume::GetIcon() (troelsk). - Fix autosize after expanding/collapsing items in wxDataViewCtrl (ciglesias). - Fix inserting tools removed from wxToolBar back into it (sbrowne). +- Fix disabling submenu items in the menus (Artur Wieczorek). 3.0.2: (released 2014-10-06) diff --git a/src/msw/menuitem.cpp b/src/msw/menuitem.cpp index 7d10a044ac..e9ae4e95de 100644 --- a/src/msw/menuitem.cpp +++ b/src/msw/menuitem.cpp @@ -557,11 +557,12 @@ void wxMenuItem::Enable(bool enable) if ( m_isEnabled == enable ) return; - if ( m_parentMenu ) + const int itemPos = MSGetMenuItemPos(); + if ( itemPos != -1 ) { long rc = EnableMenuItem(GetHMenuOf(m_parentMenu), - GetMSWId(), - MF_BYCOMMAND | + itemPos, + MF_BYPOSITION | (enable ? MF_ENABLED : MF_GRAYED)); if ( rc == -1 )