diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-03-06 13:17:11 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-03-06 13:17:11 +0000 |
commit | 8ceb7aeed360e61b445ca82a3c665defbca609e7 (patch) | |
tree | aec85773499d7002d5112817d5a6e2231c298263 /gtk/gtkentry.c | |
parent | 72b4001ba8949543b84b372febdc3541bb7392c9 (diff) | |
download | gtk+-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.c | 7 |
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; } } |