X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/74c5a810e54fd8fcd6a94e5d66d8c9addb68a8b9..b5093969a22c392657a80df48d0bc1283d8a41bb:/src/gtk1/textctrl.cpp?ds=sidebyside diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 61279a64f4..023debbdb1 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -518,7 +518,8 @@ wxString wxTextCtrl::GetValue() const #else wxCharBuffer buffer( wxConvLocal.cWC2WX( wxConvUTF8.cMB2WC( text ) ) ); #endif - tmp = buffer; + if ( buffer ) + tmp = buffer; g_free( text ); #else @@ -550,6 +551,9 @@ void wxTextCtrl::SetValue( const wxString &value ) wxCharBuffer buffer( wxConvUTF8.cWC2MB( wxConvLocal.cWX2WC( value ) ) ); #endif GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) ); + if (gtk_text_buffer_get_char_count(text_buffer) != 0) + IgnoreNextTextUpdate(); + gtk_text_buffer_set_text( text_buffer, buffer, strlen(buffer) ); #else @@ -1435,12 +1439,14 @@ void wxTextCtrl::ChangeFontGlobally() // possible! // // TODO: it can be implemented much more efficiently for GTK2 - wxASSERT_MSG( (m_windowStyle & wxTE_MULTILINE) #ifndef __WXGTK20__ - && m_updateFont -#endif // GTK+ 1.x - , + wxASSERT_MSG( (m_windowStyle & wxTE_MULTILINE) && m_updateFont, + + _T("shouldn't be called for single line controls") ); +#else + wxASSERT_MSG( (m_windowStyle & wxTE_MULTILINE), _T("shouldn't be called for single line controls") ); +#endif wxString value = GetValue(); if ( !value.IsEmpty() ) @@ -1480,8 +1486,10 @@ bool wxTextCtrl::SetBackgroundColour( const wxColour &colour ) if ( !wxControl::SetBackgroundColour( colour ) ) return FALSE; +#ifndef __WXGTK20__ if (!m_widget->window) return FALSE; +#endif if (!m_backgroundColour.Ok()) return FALSE;