From: Julian Smart Date: Sun, 1 Jun 2003 13:42:21 +0000 (+0000) Subject: Applied patch [ 735588 ] Gtk2 textctrl selection fix X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/fb47b99f25c2c3b6abd5ac71cbcdcf9df2f4f487 Applied patch [ 735588 ] Gtk2 textctrl selection fix git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 007c091073..95ba64e948 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -1187,7 +1187,9 @@ void wxTextCtrl::GetSelection(long* fromOut, long* toOut) const gint from, to; #ifdef __WXGTK20__ - if ( !gtk_editable_get_selection_bounds(GTK_EDITABLE(m_text), &from, &to) ) + GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (m_text)); + GtkTextIter ifrom, ito; + if (!gtk_text_buffer_get_selection_bounds(buffer, &ifrom, &ito)) #else if ( !(GTK_EDITABLE(m_text)->has_selection) ) #endif @@ -1197,7 +1199,10 @@ void wxTextCtrl::GetSelection(long* fromOut, long* toOut) const } else // got selection { -#ifndef __WXGTK20__ +#ifdef __WXGTK20__ + from = gtk_text_iter_get_offset(&ifrom); + to = gtk_text_iter_get_offset(&ito); +#else from = (long) GTK_EDITABLE(m_text)->selection_start_pos; to = (long) GTK_EDITABLE(m_text)->selection_end_pos; #endif diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 007c091073..95ba64e948 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -1187,7 +1187,9 @@ void wxTextCtrl::GetSelection(long* fromOut, long* toOut) const gint from, to; #ifdef __WXGTK20__ - if ( !gtk_editable_get_selection_bounds(GTK_EDITABLE(m_text), &from, &to) ) + GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (m_text)); + GtkTextIter ifrom, ito; + if (!gtk_text_buffer_get_selection_bounds(buffer, &ifrom, &ito)) #else if ( !(GTK_EDITABLE(m_text)->has_selection) ) #endif @@ -1197,7 +1199,10 @@ void wxTextCtrl::GetSelection(long* fromOut, long* toOut) const } else // got selection { -#ifndef __WXGTK20__ +#ifdef __WXGTK20__ + from = gtk_text_iter_get_offset(&ifrom); + to = gtk_text_iter_get_offset(&ito); +#else from = (long) GTK_EDITABLE(m_text)->selection_start_pos; to = (long) GTK_EDITABLE(m_text)->selection_end_pos; #endif