diff --git a/ChangeLog b/ChangeLog index c4367d13e9..626450abfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-03-10 Kristian Rietveld + + Updated fix for #356515, merged from trunk: + + * gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send + a focus-in event to the tree view after hiding the search dialog; + only hide the search dialog and send the focus events when the + dialog is currently visible. + 2007-03-10 Kristian Rietveld Merge from trunk: diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index a3609d2b83..e68a7c0ba8 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -13682,10 +13682,14 @@ gtk_tree_view_search_dialog_hide (GtkWidget *search_dialog, tree_view->priv->typeselect_flush_timeout = 0; } - /* send focus-in event */ - send_focus_change (GTK_WIDGET (tree_view->priv->search_entry), FALSE); - gtk_widget_hide (search_dialog); - gtk_entry_set_text (GTK_ENTRY (tree_view->priv->search_entry), ""); + if (GTK_WIDGET_VISIBLE (search_dialog)) + { + /* send focus-in event */ + send_focus_change (GTK_WIDGET (tree_view->priv->search_entry), FALSE); + gtk_widget_hide (search_dialog); + gtk_entry_set_text (GTK_ENTRY (tree_view->priv->search_entry), ""); + send_focus_change (GTK_WIDGET (tree_view), TRUE); + } } static void