summaryrefslogtreecommitdiff
path: root/gtk/gtkentry.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-03-06 13:17:11 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-03-06 13:17:11 +0000
commit8ceb7aeed360e61b445ca82a3c665defbca609e7 (patch)
treeaec85773499d7002d5112817d5a6e2231c298263 /gtk/gtkentry.c
parent72b4001ba8949543b84b372febdc3541bb7392c9 (diff)
downloadgtk+-8ceb7aeed360e61b445ca82a3c665defbca609e7.tar.gz
Fix various problems when truncating the inserted text to fit into the
Wed Mar 6 00:38:29 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c (gtk_entry_real_insert_text): Fix various problems when truncating the inserted text to fit into the GtkEntry size limit of 65kb. (#73119)
Diffstat (limited to 'gtk/gtkentry.c')
-rw-r--r--gtk/gtkentry.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 86949860f8..fd5733a908 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -1862,7 +1862,12 @@ gtk_entry_real_insert_text (GtkEditable *editable,
else
{
entry->text_size = MAX_SIZE;
- new_text_length = entry->text_size - entry->n_bytes - 1;
+ if (new_text_length > (gint)entry->text_size - (gint)entry->n_bytes - 1)
+ {
+ new_text_length = (gint)entry->text_size - (gint)entry->n_bytes - 1;
+ new_text_length = g_utf8_find_prev_char (new_text, new_text + new_text_length + 1) - new_text;
+ n_chars = g_utf8_strlen (new_text, new_text_length);
+ }
break;
}
}