X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50aee613a3d3235f24a68e6d4a4d2420225643fd..81f6ea4a29eb815dbed0adea369efdc8fece0269:/src/gtk/textctrl.cpp diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 9d6379854d..ea62e18185 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -7,10 +7,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "textctrl.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -168,7 +164,7 @@ extern "C" { static void wxGtkTextInsert(GtkWidget *text, GtkTextBuffer *text_buffer, const wxTextAttr& attr, - wxCharBuffer buffer) + const wxCharBuffer& buffer) { gint start_offset; @@ -1210,8 +1206,14 @@ long wxTextCtrl::XYToPosition(long x, long y ) const #ifdef __WXGTK20__ GtkTextIter iter; - gtk_text_buffer_get_iter_at_line_offset(m_buffer, &iter, y, x); - return gtk_text_iter_get_offset(&iter); + if (y >= gtk_text_buffer_get_line_count (m_buffer)) + return -1; + + gtk_text_buffer_get_iter_at_line(m_buffer, &iter, y); + if (x >= gtk_text_iter_get_chars_in_line (&iter)) + return -1; + + return gtk_text_iter_get_offset(&iter) + x; #else long pos=0; for( int i=0; i