]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/menucmn.cpp
fix memory leak (coverity checker CID 53)
[wxWidgets.git] / src / common / menucmn.cpp
index 07fee7e6616c6c35fd400c3151c720f1b1618e53..edf51cab54367c1947d7253eac012983dcfb74ba 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        common/menucmn.cpp
+// Name:        src/common/menucmn.cpp
 // Purpose:     wxMenu and wxMenuBar methods common to all ports
 // Author:      Vadim Zeitlin
 // Modified by:
 // Purpose:     wxMenu and wxMenuBar methods common to all ports
 // Author:      Vadim Zeitlin
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "menubase.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -44,8 +40,8 @@
 
 #include "wx/listimpl.cpp"
 
 
 #include "wx/listimpl.cpp"
 
-WX_DEFINE_LIST(wxMenuList);
-WX_DEFINE_LIST(wxMenuItemList);
+WX_DEFINE_LIST(wxMenuList)
+WX_DEFINE_LIST(wxMenuItemList)
 
 // ============================================================================
 // implementation
 
 // ============================================================================
 // implementation
@@ -193,7 +189,7 @@ wxAcceleratorEntry *wxGetAccelFromString(const wxString& label)
                         keyCode = WXK_HOME;
                     else if ( current == wxT("END") )
                         keyCode = WXK_END;
                         keyCode = WXK_HOME;
                     else if ( current == wxT("END") )
                         keyCode = WXK_END;
-                    else if ( current == wxT("SPACE") )
+                    else if ( current == wxT("SPACE") || current == _("SPACE") )
                         keyCode = WXK_SPACE;
                     else if ( current == wxT("TAB") )
                         keyCode = WXK_TAB;
                         keyCode = WXK_SPACE;
                     else if ( current == wxT("TAB") )
                         keyCode = WXK_TAB;
@@ -1062,4 +1058,21 @@ wxString wxMenuBarBase::GetHelpString(int id) const
     return item->GetHelp();
 }
 
     return item->GetHelp();
 }
 
+void wxMenuBarBase::UpdateMenus( void )
+{
+    wxEvtHandler* source;
+    wxMenu* menu;
+    int nCount = GetMenuCount();
+    for (int n = 0; n < nCount; n++)
+    {
+        menu = GetMenu( n );
+        if (menu != NULL)
+        {
+            source = menu->GetEventHandler();
+            if (source != NULL)
+                menu->UpdateUI( source );
+        }
+    }
+}
+
 #endif // wxUSE_MENUS
 #endif // wxUSE_MENUS