2006-12-07  Paolo Maggi  <paolo@gnome.org>

	Fixes bug #383407

	* gtk/gtkentry.c (gtk_entry_set_text): check for
	completion->priv->changed_id > 0 before calling
	g_signal_handler_[un]block.
	(gtk_entry_completion_key_press): does not block/unblock the
"changed"
	signal before calling gtk_entry_set_text.
This commit is contained in:
Paolo Maggi 2006-12-07 17:01:16 +00:00 committed by Paolo Maggi
parent 023c72ee4b
commit 4719b375cf
2 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,13 @@
2006-12-07 Paolo Maggi <paolo@gnome.org>
Fixes bug #383407
* gtk/gtkentry.c (gtk_entry_set_text): check for
completion->priv->changed_id > 0 before calling
g_signal_handler_[un]block.
(gtk_entry_completion_key_press): does not block/unblock the "changed"
signal before calling gtk_entry_set_text.
2006-12-07 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtkcellrendererprogress (compute_dimensions): do not use

View File

@ -4183,7 +4183,7 @@ gtk_entry_set_text (GtkEntry *entry,
return;
completion = gtk_entry_get_completion (entry);
if (completion)
if (completion && completion->priv->changed_id > 0)
g_signal_handler_block (entry, completion->priv->changed_id);
gtk_editable_delete_text (GTK_EDITABLE (entry), 0, -1);
@ -4191,7 +4191,7 @@ gtk_entry_set_text (GtkEntry *entry,
tmp_pos = 0;
gtk_editable_insert_text (GTK_EDITABLE (entry), text, strlen (text), &tmp_pos);
if (completion)
if (completion && completion->priv->changed_id > 0)
g_signal_handler_unblock (entry, completion->priv->changed_id);
}
@ -5646,9 +5646,7 @@ gtk_entry_completion_key_press (GtkWidget *widget,
completion->priv->text_column, &str,
-1);
g_signal_handler_block (widget, completion->priv->changed_id);
gtk_entry_set_text (GTK_ENTRY (widget), str);
g_signal_handler_unblock (widget, completion->priv->changed_id);
/* move the cursor to the end */
gtk_editable_set_position (GTK_EDITABLE (widget), -1);