From 6256849fdf400639670877f1ea628be706029251 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Wed, 30 May 2007 13:55:09 +0000 Subject: [PATCH] changed wxGTK_CONV* macros to use utf8_str() and FromUTF8() so that we don't do any unnecessary conversions in UTF8 build git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk/private.h | 4 ++-- src/gtk/textctrl.cpp | 8 ++------ src/gtk/window.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/include/wx/gtk/private.h b/include/wx/gtk/private.h index d19eed94ea..7b83acd3f2 100644 --- a/include/wx/gtk/private.h +++ b/include/wx/gtk/private.h @@ -34,12 +34,12 @@ extern const gchar *wx_pango_version_check(int major, int minor, int micro); #if wxUSE_UNICODE - #define wxGTK_CONV(s) wxConvUTF8.cWX2MB((s)) + #define wxGTK_CONV(s) s.utf8_str() #define wxGTK_CONV_ENC(s, enc) wxGTK_CONV((s)) #define wxGTK_CONV_FONT(s, font) wxGTK_CONV((s)) #define wxGTK_CONV_SYS(s) wxGTK_CONV((s)) - #define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX((s)) + #define wxGTK_CONV_BACK(s) wxString::FromUTF8(s) #define wxGTK_CONV_BACK_ENC(s, enc) wxGTK_CONV_BACK(s) #define wxGTK_CONV_BACK_FONT(s, font) wxGTK_CONV_BACK(s) #define wxGTK_CONV_BACK_SYS(s) wxGTK_CONV_BACK(s) diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index d21be8967f..03d093667c 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -955,16 +955,12 @@ wxString wxTextCtrl::GetValue() const gtk_text_buffer_get_end_iter( m_buffer, &end ); wxGtkString text(gtk_text_buffer_get_text(m_buffer, &start, &end, true)); - const wxWxCharBuffer buf = wxGTK_CONV_BACK(text); - if ( buf ) - tmp = buf; + return wxGTK_CONV_BACK(text); } else { const gchar *text = gtk_entry_get_text( GTK_ENTRY(m_text) ); - const wxWxCharBuffer buf = wxGTK_CONV_BACK( text ); - if ( buf ) - tmp = buf; + return wxGTK_CONV_BACK(text); } return tmp; diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index cbc1486f6b..7b24565135 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -1136,8 +1136,8 @@ gtk_wxwindow_commit_cb (GtkIMContext *context, event.SetEventObject( window ); } - const wxWxCharBuffer data(wxGTK_CONV_BACK_SYS(str)); - if( !data ) + const wxString data(wxGTK_CONV_BACK_SYS(str)); + if( data.empty() ) return; bool ret = false; @@ -1147,7 +1147,7 @@ gtk_wxwindow_commit_cb (GtkIMContext *context, while (parent && !parent->IsTopLevel()) parent = parent->GetParent(); - for( const wxChar* pstr = data; *pstr; pstr++ ) + for( wxString::const_iterator pstr = data.begin(); pstr != data.end(); ++pstr ) { #if wxUSE_UNICODE event.m_uniChar = *pstr; @@ -1155,7 +1155,7 @@ gtk_wxwindow_commit_cb (GtkIMContext *context, event.m_keyCode = *pstr < 256 ? event.m_uniChar : 0; wxLogTrace(TRACE_KEYS, _T("IM sent character '%c'"), event.m_uniChar); #else - event.m_keyCode = *pstr; + event.m_keyCode = (char)*pstr; #endif // wxUSE_UNICODE // To conform to the docs we need to translate Ctrl-alpha -- 2.47.2