]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/menu.cpp
Reverted/commented out unsuccessful defer fix
[wxWidgets.git] / src / gtk / menu.cpp
index 0c44d0a74d3d88446b7131e363f00e3ee3882c60..787746807b57cedd0fbaaff99055bde2844fe79f 100644 (file)
@@ -818,12 +818,13 @@ void wxMenuItem::SetText( const wxString& str )
     oldLabel = wxStripMenuCodes(oldLabel);
     oldLabel.Replace(wxT("_"), wxT(""));
     wxString label1 = wxStripMenuCodes(str);
     oldLabel = wxStripMenuCodes(oldLabel);
     oldLabel.Replace(wxT("_"), wxT(""));
     wxString label1 = wxStripMenuCodes(str);
-    // Make sure we can change a hotkey even if the label is unaltered
-    wxString oldhotkey = GetHotKey();
+    wxString oldhotkey = GetHotKey();    // Store the old hotkey in Ctrl-foo format
+    wxCharBuffer oldbuf = wxGTK_CONV( GetGtkHotKey(*this) );  // and as <control>foo
 
     DoSetText(str);
 
 
     DoSetText(str);
 
-    if (oldLabel == label1 && oldhotkey == GetHotKey())
+    if (oldLabel == label1 && 
+             oldhotkey == GetHotKey())    // Make sure we can change a hotkey even if the label is unaltered
         return;
 
     if (m_menuItem)
         return;
 
     if (m_menuItem)
@@ -846,10 +847,8 @@ void wxMenuItem::SetText( const wxString& str )
 #endif
     }
 
 #endif
     }
 
-#ifdef __WXGTK20__
     guint accel_key;
     GdkModifierType accel_mods;
     guint accel_key;
     GdkModifierType accel_mods;
-    wxCharBuffer oldbuf = wxGTK_CONV( oldhotkey );
     gtk_accelerator_parse( (const char*) oldbuf, &accel_key, &accel_mods);
     if (accel_key != 0)
     {
     gtk_accelerator_parse( (const char*) oldbuf, &accel_key, &accel_mods);
     if (accel_key != 0)
     {
@@ -870,7 +869,6 @@ void wxMenuItem::SetText( const wxString& str )
                                     accel_mods,
                                     GTK_ACCEL_VISIBLE);
     }
                                     accel_mods,
                                     GTK_ACCEL_VISIBLE);
     }
-#endif
 }
 
 // it's valid for this function to be called even if m_menuItem == NULL
 }
 
 // it's valid for this function to be called even if m_menuItem == NULL