diff options
author | Jonathan Blandford <jrb@gnome.org> | 2004-04-14 07:49:10 +0000 |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2004-04-14 07:49:10 +0000 |
commit | 11eaf5a97cd5182900917f127ebc7ead9d1fd9c7 (patch) | |
tree | 62b4c0ad678ff50e0c7c968fe2bc019ea6b343d9 /gtk | |
parent | 5d3a68a829cffe56d9d7a50c3523e5de3e7387ad (diff) | |
download | gdk-pixbuf-11eaf5a97cd5182900917f127ebc7ead9d1fd9c7.tar.gz |
propagate expose events to children.
Wed Apr 14 03:45:39 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose
events to children.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtktreeview.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 163b420b4..e8597e5d7 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3627,7 +3627,28 @@ gtk_tree_view_expose (GtkWidget *widget, 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; |