From: Robert Roebling Date: Mon, 18 Apr 2005 18:21:30 +0000 (+0000) Subject: Minor correction to the wxMenuItem::SetText() patch. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a8e607d963656a09fc92727138ea979ad78cbc9d Minor correction to the wxMenuItem::SetText() patch. It also works under GTK 1.2. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 0c44d0a74d..787746807b 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -818,12 +818,13 @@ void wxMenuItem::SetText( const wxString& 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 foo 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) @@ -846,10 +847,8 @@ void wxMenuItem::SetText( const wxString& str ) #endif } -#ifdef __WXGTK20__ 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) { @@ -870,7 +869,6 @@ void wxMenuItem::SetText( const wxString& str ) accel_mods, GTK_ACCEL_VISIBLE); } -#endif } // it's valid for this function to be called even if m_menuItem == NULL diff --git a/src/gtk1/menu.cpp b/src/gtk1/menu.cpp index 0c44d0a74d..787746807b 100644 --- a/src/gtk1/menu.cpp +++ b/src/gtk1/menu.cpp @@ -818,12 +818,13 @@ void wxMenuItem::SetText( const wxString& 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 foo 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) @@ -846,10 +847,8 @@ void wxMenuItem::SetText( const wxString& str ) #endif } -#ifdef __WXGTK20__ 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) { @@ -870,7 +869,6 @@ void wxMenuItem::SetText( const wxString& str ) accel_mods, GTK_ACCEL_VISIBLE); } -#endif } // it's valid for this function to be called even if m_menuItem == NULL