treeview: Remove in_scroll flag

Keep using the pixel cache for backwards-compat, but remove the
in_scroll flag to fix the missing invalidation during scrolling.

Fixes #1977
This commit is contained in:
Timm Bäder 2019-07-03 16:15:52 -04:00 committed by Matthias Clasen
parent ed0df60d6e
commit 0f216525af

View File

@ -495,8 +495,6 @@ struct _GtkTreeViewPrivate
guint hover_expand : 1;
guint imcontext_changed : 1;
guint in_scroll : 1;
guint rubber_banding_enable : 1;
guint in_grab : 1;
@ -2421,11 +2419,6 @@ gtk_tree_view_bin_window_invalidate_handler (GdkWindow *window,
gdk_window_get_user_data (window, &widget);
tree_view = GTK_TREE_VIEW (widget);
/* Scrolling will invalidate everything in the bin window,
but we already have it in the cache, so we can ignore that */
if (tree_view->priv->in_scroll)
return;
y = gtk_adjustment_get_value (tree_view->priv->vadjustment);
cairo_region_translate (region,
0, y);
@ -11400,9 +11393,7 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
- gtk_adjustment_get_value (tree_view->priv->hadjustment),
0);
dy = tree_view->priv->dy - (int) gtk_adjustment_get_value (tree_view->priv->vadjustment);
tree_view->priv->in_scroll = TRUE;
gdk_window_scroll (tree_view->priv->bin_window, 0, dy);
tree_view->priv->in_scroll = FALSE;
if (dy != 0)
{