[gtk/wip/baedert/for-master: 3/4] text: Fix a crash when retrieving the selected text



commit e122753c2d3549cf347394317767d6fc7c317860
Author: Timm Bäder <mail baedert org>
Date:   Tue Aug 27 10:05:51 2019 +0200

    text: Fix a crash when retrieving the selected text

 gtk/gtktext.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index 59281d5e99..5ac7637a98 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -2695,9 +2695,12 @@ _gtk_text_get_selected_text (GtkText *self)
 
   if (priv->selection_bound != priv->current_pos)
     {
+      const int start = MIN (priv->selection_bound, priv->current_pos);
+      const int end = MAX (priv->selection_bound, priv->current_pos);
       const char *text = gtk_entry_buffer_get_text (get_buffer (self));
-      int start_index = g_utf8_offset_to_pointer (text, priv->selection_bound) - text;
-      int end_index = g_utf8_offset_to_pointer (text, priv->current_pos) - text;
+      const int start_index = g_utf8_offset_to_pointer (text, start) - text;
+      const int end_index = g_utf8_offset_to_pointer (text, end) - text;
+
       return g_strndup (text + start_index, end_index - start_index);
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]