diff options
author | Christian Hergert <christian@hergert.me> | 2015-06-16 16:50:44 -0700 |
---|---|---|
committer | Christian Hergert <christian@hergert.me> | 2015-06-16 18:08:22 -0700 |
commit | fb06b6e4b8cc312f56322b38b91af5b4c726bc33 (patch) | |
tree | 6a39a3cf85694dc7876c8bf5b5637721ed049a8e | |
parent | 6a2143ab31beaa69fb685a3db6882831fc372cc2 (diff) | |
download | gtk+-fb06b6e4b8cc312f56322b38b91af5b4c726bc33.tar.gz |
treeview: always pixelcache widget contents
GtkTreeView has a particularly expensive drawing path. This can cause
issues when part of animated widget sequences. Caching the content while
a model is attached helps reduce the number of full redraws during
exposure greatly.
https://bugzilla.gnome.org/show_bug.cgi?id=751082
-rw-r--r-- | gtk/gtktreeview.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 1e4779f984..5eaed63e53 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -11540,6 +11540,8 @@ gtk_tree_view_set_model (GtkTreeView *tree_view, if (tree_view->priv->selection) _gtk_tree_selection_emit_changed (tree_view->priv->selection); + _gtk_pixel_cache_set_always_cache (tree_view->priv->pixel_cache, (model != NULL)); + if (gtk_widget_get_realized (GTK_WIDGET (tree_view))) gtk_widget_queue_resize (GTK_WIDGET (tree_view)); } |