tree-view: add back gtk_style_context_set_background()

Commit ddceddaa84 removed the call to
gtk_style_context_set_background() in favour of always rendering it with
gtk_render_background() during the draw vfunc.
This has the side effect of making the backing window always
transparent, which blocks GTK from applying some optimizations during
the paint cycle. The result is that, especially in clutter-gtk
applications, scrolling performance gets really bad.

This commit partially reverts ddceddaa84
and changes the code so that both gtk_style_context_set_background() and
gtk_render_background() are called
This commit is contained in:
Cosimo Cecchi 2013-02-01 11:10:23 +01:00
parent c4183405fe
commit eacdaf28a6

View File

@ -2212,6 +2212,9 @@ gtk_tree_view_ensure_background (GtkTreeView *tree_view)
GtkStyleContext *context;
context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
gtk_style_context_set_background (context, tree_view->priv->bin_window);
gtk_style_context_set_background (context, gtk_widget_get_window (GTK_WIDGET (tree_view)));
gtk_style_context_set_background (context, tree_view->priv->header_window);
}