[gtk+/wip/simple-draw3] GtkTreeView: Invalidate cache for gtk_tree_view_node_queue_redraw
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/simple-draw3] GtkTreeView: Invalidate cache for gtk_tree_view_node_queue_redraw
- Date: Thu, 2 May 2013 13:56:33 +0000 (UTC)
commit 958df1c4bffc843377088fe0f60bf337360470f7
Author: Alexander Larsson <alexl redhat com>
Date: Thu May 2 11:11:29 2013 +0200
GtkTreeView: Invalidate cache for gtk_tree_view_node_queue_redraw
When a row changes we invalidate only the right area in the
bin_window. This means we also invalidate the right area
of the pixel cache.
gtk/gtktreeview.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index eb3493b..0389b0a 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -6028,18 +6028,17 @@ gtk_tree_view_node_queue_redraw (GtkTreeView *tree_view,
GtkRBTree *tree,
GtkRBNode *node)
{
- GtkAllocation allocation;
- gint y;
-
- y = _gtk_rbtree_node_find_offset (tree, node)
- - gtk_adjustment_get_value (tree_view->priv->vadjustment)
- + gtk_tree_view_get_effective_header_height (tree_view);
+ GdkRectangle rect;
- gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
- gtk_widget_queue_draw_area (GTK_WIDGET (tree_view),
- 0, y,
- allocation.width,
- GTK_RBNODE_GET_HEIGHT (node));
+ rect.x = 0;
+ rect.y =
+ _gtk_rbtree_node_find_offset (tree, node)
+ - gtk_adjustment_get_value (tree_view->priv->vadjustment);
+ rect.width = gtk_widget_get_allocated_width (GTK_WIDGET (tree_view));
+ rect.height = GTK_RBNODE_GET_HEIGHT (node);
+
+ gdk_window_invalidate_rect (tree_view->priv->bin_window,
+ &rect, TRUE);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]