summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2019-01-17 15:55:57 +0100
committerTimm Bäder <mail@baedert.org>2019-01-18 19:41:19 +0100
commitea2f66226ae521b66a99012e8d00d606349aafaa (patch)
treea2d1eea2eb7ce8a6d606a74f495c768d93193e25
parente14fe222e8aa5b216ae2bc26e5dfebefaae17876 (diff)
downloadgtk+-ea2f66226ae521b66a99012e8d00d606349aafaa.tar.gz
iconview: Fix scrolled drawing
We were only drawing the scrolled away first few items
-rw-r--r--gtk/gtkiconview.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index b92747bb88..29ed4dff8a 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -1667,6 +1667,7 @@ gtk_icon_view_snapshot (GtkWidget *widget,
GtkIconViewItem *dest_item = NULL;
GtkStyleContext *context;
int width, height;
+ double offset_x, offset_y;
icon_view = GTK_ICON_VIEW (widget);
@@ -1680,9 +1681,10 @@ gtk_icon_view_snapshot (GtkWidget *widget,
width, height
));
- gtk_snapshot_offset (snapshot,
- - gtk_adjustment_get_value (icon_view->priv->hadjustment),
- - gtk_adjustment_get_value (icon_view->priv->vadjustment));
+ offset_x = gtk_adjustment_get_value (icon_view->priv->hadjustment);
+ offset_y = gtk_adjustment_get_value (icon_view->priv->vadjustment);
+
+ gtk_snapshot_offset (snapshot, - offset_x, - offset_y);
gtk_icon_view_get_drag_dest_item (icon_view, &path, &dest_pos);
@@ -1705,7 +1707,8 @@ gtk_icon_view_snapshot (GtkWidget *widget,
item->cell_area.width + icon_view->priv->item_padding * 2,
item->cell_area.height + icon_view->priv->item_padding * 2);
- if (gdk_rectangle_intersect (&item->cell_area, &(GdkRectangle) { 0, 0, width, height }, NULL))
+ if (gdk_rectangle_intersect (&item->cell_area,
+ &(GdkRectangle) { offset_x, offset_y, width, height }, NULL))
{
gtk_icon_view_snapshot_item (icon_view, snapshot, item,
item->cell_area.x, item->cell_area.y,