only hide the search dialog and send focus events if the search dialog is
authorKristian Rietveld <kris@gtk.org>
Sat, 10 Mar 2007 22:42:40 +0000 (22:42 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Sat, 10 Mar 2007 22:42:40 +0000 (22:42 +0000)
2007-03-10  Kristian Rietveld  <kris@gtk.org>

* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): only
hide the search dialog and send focus events if the search dialog
is currently visible.

svn path=/trunk/; revision=17464

ChangeLog
gtk/gtktreeview.c

index 4aa766515edcc4cd35f3291f707f719dfd8e1651..f20b2e70bfd54eb18907d73fb2a766405eb95718 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-10  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): only
+       hide the search dialog and send focus events if the search dialog
+       is currently visible.
+
 2007-03-10  Richard Hult  <richard@imendio.com>
 
        * gdk/quartz/gdkdrawable-quartz.c:
index 61ba802cdcb266996b7d01ed921263f7aed6062d..e1436dacadf1a6d55d8d1dc618a996decbb44256 100644 (file)
@@ -13734,11 +13734,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), "");
-  send_focus_change (GTK_WIDGET (tree_view), TRUE);
+  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