[gtk+/wip/carlosg/event-delivery: 99/104] gtktreeview: Fix invalidation coordinates
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/carlosg/event-delivery: 99/104] gtktreeview: Fix invalidation coordinates
- Date: Thu, 25 May 2017 14:48:26 +0000 (UTC)
commit ace686dba90ba734daf11d07c25612a8656953b7
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed May 24 18:30:35 2017 +0200
gtktreeview: Fix invalidation coordinates
We must account for the widget allocation now that there is no view_window.
gtk/gtktreeview.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 2519010..a8a500f 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -4372,14 +4372,17 @@ static void
gtk_tree_view_invalidate_bin_region (GtkTreeView *tree_view,
cairo_region_t *region)
{
+ GtkAllocation allocation;
+
cairo_region_intersect_rectangle (region,
&(GdkRectangle) { 0, 0,
gdk_window_get_width (tree_view->priv->bin_window),
gdk_window_get_height (tree_view->priv->bin_window)});
+ gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
cairo_region_translate (region,
- - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment),
- gtk_tree_view_get_effective_header_height (tree_view));
+ allocation.x - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment),
+ allocation.y + gtk_tree_view_get_effective_header_height (tree_view));
gtk_widget_queue_draw_region (GTK_WIDGET (tree_view), region);
@@ -10982,11 +10985,13 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
{
if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
{
+ GtkAllocation allocation;
gint dy;
-
+
+ gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
gdk_window_move (tree_view->priv->bin_window,
- - gtk_adjustment_get_value (tree_view->priv->hadjustment),
- gtk_tree_view_get_effective_header_height (tree_view));
+ allocation.x - gtk_adjustment_get_value (tree_view->priv->hadjustment),
+ allocation.y + gtk_tree_view_get_effective_header_height (tree_view));
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]