X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e1bcfa80e19ac853b8bc7084075fe3b01e63f03..0c2f35dc94a4ae971cd2ed2a0c7464dc79cbc731:/src/motif/menu.cpp?ds=sidebyside diff --git a/src/motif/menu.cpp b/src/motif/menu.cpp index 8a42ba4f1d..8699350bbb 100644 --- a/src/motif/menu.cpp +++ b/src/motif/menu.cpp @@ -247,8 +247,6 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) wxString wxMenuBar::GetLabelTop(size_t pos) const { - wxString str; - wxMenu *menu = GetMenu(pos); if ( menu ) { @@ -260,17 +258,11 @@ wxString wxMenuBar::GetLabelTop(size_t pos) const XmNlabelString, &text, NULL); - char *s; - if ( XmStringGetLtoR(text, XmSTRING_DEFAULT_CHARSET, &s) ) - { - str = s; - - XtFree(s); - } + return wxXmStringToString( text ); } } - return str; + return wxEmptyString; } bool wxMenuBar::Append(wxMenu * menu, const wxString& title) @@ -324,7 +316,7 @@ wxMenu *wxMenuBar::Remove(size_t pos) menu->SetMenuBar(NULL); - m_titles.Remove(pos); + m_titles.RemoveAt(pos); return menu; } @@ -335,12 +327,12 @@ int wxMenuBar::FindMenuItem (const wxString& menuString, const wxString& itemStr { char buf1[200]; char buf2[200]; - wxStripMenuCodes ((char *)(const char *)menuString, buf1); + wxStripMenuCodes (wxConstCast(menuString.c_str(), char), buf1); size_t menuCount = GetMenuCount(); for (size_t i = 0; i < menuCount; i++) { - wxStripMenuCodes ((char *)(const char *)m_titles[i], buf2); + wxStripMenuCodes (wxConstCast(m_titles[i].c_str(), char), buf2); if (strcmp (buf1, buf2) == 0) return m_menus[i]->FindItem (itemString); } @@ -652,21 +644,21 @@ void wxMenu::SetForegroundColour(const wxColour& col) void wxMenu::ChangeFont(bool keepOriginalSize) { - // lesstif 0.87 hangs when setting XmNfontList -#ifndef LESSTIF_VERSION + // Lesstif 0.87 hangs here, but 0.93 does not +#if !wxCHECK_LESSTIF() || wxCHECK_LESSTIF_VERSION( 0, 93 ) if (!m_font.Ok() || !m_menuWidget) return; - XmFontList fontList = (XmFontList) m_font.GetFontList(1.0, XtDisplay((Widget) m_menuWidget)); + WXFontType fontType = m_font.GetFontType(XtDisplay((Widget) m_menuWidget)); XtVaSetValues ((Widget) m_menuWidget, - XmNfontList, fontList, - NULL); + wxFont::GetFontTag(), fontType, + NULL); if (m_buttonWidget) { XtVaSetValues ((Widget) m_buttonWidget, - XmNfontList, fontList, - NULL); + wxFont::GetFontTag(), fontType, + NULL); } for ( wxMenuItemList::Node *node = GetMenuItems().GetFirst(); @@ -677,8 +669,8 @@ void wxMenu::ChangeFont(bool keepOriginalSize) if (m_menuWidget && item->GetButtonWidget() && m_font.Ok()) { XtVaSetValues ((Widget) item->GetButtonWidget(), - XmNfontList, fontList, - NULL); + wxFont::GetFontTag(), fontType, + NULL); } if (item->GetSubMenu()) item->GetSubMenu()->ChangeFont(keepOriginalSize);