Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtk+/ChangeLog,v
retrieving revision 1.8427
diff -u -p -r1.8427 ChangeLog
--- ChangeLog	30 Oct 2006 22:07:47 -0000	1.8427
+++ ChangeLog	31 Oct 2006 07:41:20 -0000
@@ -1,3 +1,8 @@
+2006-10-31  Li Yuan  <li.yuan@sun.com>
+
+	* gtk/gtktreeview.c (gtk_tree_view_key_press): send focus event when
+	treeview get focus back. Fixes bug #356515.
+
 2006-10-30  Kristian Rietveld  <kris@gtk.org>
 
 	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): don't
Index: gtk/gtktreeview.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtktreeview.c,v
retrieving revision 1.577
diff -u -p -r1.577 gtktreeview.c
--- gtk/gtktreeview.c	30 Oct 2006 22:07:50 -0000	1.577
+++ gtk/gtktreeview.c	31 Oct 2006 07:41:20 -0000
@@ -260,6 +260,8 @@ static gboolean gtk_tree_view_real_expan
 							       gboolean         expand,
 							       gboolean         open_all);
 static gboolean gtk_tree_view_real_select_cursor_parent   (GtkTreeView     *tree_view);
+static void send_focus_change                             (GtkWidget *widget,
+							   gboolean   in);
 static void gtk_tree_view_row_changed                     (GtkTreeModel    *model,
 							   GtkTreePath     *path,
 							   GtkTreeIter     *iter,
@@ -5311,6 +5313,7 @@ gtk_tree_view_key_press (GtkWidget   *wi
 	  if (gtk_tree_view_real_start_interactive_search (tree_view, FALSE))
 	    {
 	      gtk_widget_grab_focus (GTK_WIDGET (tree_view));
+	      send_focus_change (tree_view, TRUE);
 	      return TRUE;
 	    }
 	  else
