diff --git a/ChangeLog b/ChangeLog index 2fee18dc8b..01ff062037 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-03-04 Michael Hasselmann + + * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_contents_changed): + Fixed regression reported in bug #574059. (search button not available in + some cases.) The old implementation relied on bug #572478. + 2009-03-10 Alexander Larsson * gtk/gtkmountoperation.c: diff --git a/gtk/gtkcomboboxentry.c b/gtk/gtkcomboboxentry.c index ad56ad352d..93ae5aea01 100644 --- a/gtk/gtkcomboboxentry.c +++ b/gtk/gtkcomboboxentry.c @@ -291,13 +291,15 @@ gtk_combo_box_entry_contents_changed (GtkEntry *entry, { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - g_signal_handlers_block_by_func (combo_box, - gtk_combo_box_entry_active_changed, - NULL); - gtk_combo_box_set_active (combo_box, -1); - g_signal_handlers_unblock_by_func (combo_box, - gtk_combo_box_entry_active_changed, - NULL); + /* + * Fixes regression reported in bug #574059. The old functionality relied on + * bug #572478. As a bugfix, we now emit the "changed" signal ourselves + * when the selection was already set to -1. + */ + if (gtk_combo_box_get_active(combo_box) == -1) + g_signal_emit_by_name (combo_box, "changed"); + else + gtk_combo_box_set_active (combo_box, -1); } /* public API */