diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-03-21 00:08:19 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-03-21 00:08:19 +0000 |
commit | 22b1b079ef3c55c7a3e6f2bdb873130596b3456d (patch) | |
tree | 430914901d7c88447753559cf19f656fd4c8c154 /gtk/gtkentry.c | |
parent | dc5be9edc5cca70bdbd425f01be097ff82af63c4 (diff) | |
download | gdk-pixbuf-22b1b079ef3c55c7a3e6f2bdb873130596b3456d.tar.gz |
Short-circuit the text to the exact same thing, so we don't unexpectedly
Wed Mar 20 19:00:03 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_set_text): Short-circuit
the text to the exact same thing, so we don't
unexpectedly change the selection or cursor position.
(#74290, John Ellis.)
Diffstat (limited to 'gtk/gtkentry.c')
-rw-r--r-- | gtk/gtkentry.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 9ef6c6e88..3e6534e88 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3266,14 +3266,20 @@ gtk_entry_new_with_max_length (gint max) } void -gtk_entry_set_text (GtkEntry *entry, +gtk_entry_set_text (GtkEntry *entry, const gchar *text) { gint tmp_pos; g_return_if_fail (GTK_IS_ENTRY (entry)); g_return_if_fail (text != NULL); - + + /* Actually setting the text will affect the cursor and selection; + * if the contents don't actually change, this will look odd to the user. + */ + if (strcmp (entry->text, text) == 0) + return; + gtk_editable_delete_text (GTK_EDITABLE (entry), 0, -1); tmp_pos = 0; |