[gtk+] Make gtk_editable_get_chars work as before
- From: Matthias Clasen <matthiasc src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk+] Make gtk_editable_get_chars work as before
- Date: Mon, 13 Jul 2009 17:40:03 +0000 (UTC)
commit ea3184f12972a6b03a0479ce26855c709ca41867
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Jul 13 13:37:35 2009 -0400
Make gtk_editable_get_chars work as before
It used to return actual entry contents, regardless of visiblity.
Make it do that again. This was reported in bug 588461.
gtk/gtkentry.c | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index de10f0d..f73f19e 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -4314,7 +4314,25 @@ gtk_entry_get_chars (GtkEditable *editable,
gint start_pos,
gint end_pos)
{
- return gtk_entry_get_display_text (GTK_ENTRY (editable), start_pos, end_pos);
+ GtkEntry *entry = GTK_ENTRY (editable);
+ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+ const gchar *text;
+ gint text_length;
+ gint start_index, end_index;
+
+ text = gtk_entry_buffer_get_text (priv->buffer);
+ text_length = gtk_entry_buffer_get_length (priv->buffer);
+
+ if (end_pos < 0)
+ end_pos = text_length;
+
+ start_pos = MIN (text_length, start_pos);
+ end_pos = MIN (text_length, end_pos);
+
+ start_index = g_utf8_offset_to_pointer (text, start_pos) - entry->text;
+ end_index = g_utf8_offset_to_pointer (text, end_pos) - entry->text;
+
+ return g_strndup (text + start_index, end_index - start_index);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]