? gtk+-treeview-focus.patch
? showattachment.cgi?attach_id=25130
? demos/gtk-demo/fileselector.c
? gtk/changing_folder
? gtk/core.22213
? gtk/core.22242
? gtk/gtkfilechooserdefault.c.prefed
? gtk/gtkfilechooserentry.c.async
? gtk/gtkpathbar.c.patched
? tests/Bar
? tests/Foo
? tests/core.10704
? tests/core.10765
? tests/core.1203
? tests/core.1315
? tests/core.1328
? tests/core.1341
? tests/core.1354
? tests/core.21094
? tests/core.23632
? tests/core.23705
? tests/core.23720
? tests/core.23791
? tests/core.23813
? tests/core.23843
? tests/core.2549
? tests/core.31552
? tests/core.3266
? tests/core.3333
? tests/core.3431
? tests/core.3648
? tests/core.3808
? tests/core.7159
? tests/core.8378
? tests/core.921
? tests/pixbuf-randomly-modified-image
? tests/testpathbar
? tests/testpathbar.c
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtk+/ChangeLog,v
retrieving revision 1.5319
diff -u -p -r1.5319 ChangeLog
--- ChangeLog	13 Apr 2004 20:56:50 -0000	1.5319
+++ ChangeLog	14 Apr 2004 07:23:20 -0000
@@ -1,3 +1,8 @@
+Wed Apr 14 03:10:41 2004  Jonathan Blandford  <jrb@gnome.org>
+
+	* gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose to
+	children.
+
 Tue Apr 13 16:19:23 2004  Jonathan Blandford  <jrb@redhat.com>
 
 	* gtk/gtkpathbar.c (make_directory_button): patch from Owen to
Index: gtk/gtktreeview.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtktreeview.c,v
retrieving revision 1.370
diff -u -p -r1.370 gtktreeview.c
--- gtk/gtktreeview.c	13 Apr 2004 16:27:03 -0000	1.370
+++ gtk/gtktreeview.c	14 Apr 2004 07:23:26 -0000
@@ -3627,7 +3627,28 @@ gtk_tree_view_expose (GtkWidget      *wi
   tree_view = GTK_TREE_VIEW (widget);
 
   if (event->window == tree_view->priv->bin_window)
-    return gtk_tree_view_bin_expose (widget, event);
+    {
+      gboolean retval;
+      GList *tmp_list;
+
+      retval = gtk_tree_view_bin_expose (widget, event);
+
+      /* We can't just chain up to Container::expose as it will try to send the
+       * event to the headers, so we handle propagating it to our children
+       * (eg. widgets being edited) ourselves.
+       */
+      tmp_list = tree_view->priv->children;
+      while (tmp_list)
+	{
+	  GtkTreeViewChild *child = tmp_list->data;
+	  tmp_list = tmp_list->next;
+
+	  gtk_container_propagate_expose (GTK_CONTAINER (tree_view), child->widget, event);
+	}
+
+      return retval;
+    }
+
   else if (event->window == tree_view->priv->header_window)
     {
       GList *list;
