diff options
author | Timm Bäder <mail@baedert.org> | 2017-05-09 19:26:27 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-05-25 16:25:59 +0200 |
commit | e54d8a6114a87d0d83c091e9f0f7601c5461c5c3 (patch) | |
tree | a572de0057a1b7b9f6062d2c741cff611bc5ca46 | |
parent | 782477188a3437f6fec157946d7519ca8eeda456 (diff) | |
download | gtk+-e54d8a6114a87d0d83c091e9f0f7601c5461c5c3.tar.gz |
scrolledwindow: Calculate indicator coords relative to scrolledwindow
The event coordinates we get are relative to the scrolledwindow
coordinates.
-rw-r--r-- | gtk/gtkscrolledwindow.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index c3d437de01..2eef2bf898 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -1083,14 +1083,21 @@ event_close_to_indicator (GtkScrolledWindow *sw, { GtkScrolledWindowPrivate *priv; GtkAllocation indicator_alloc; + GtkAllocation sw_alloc; gdouble x, y; gint distance; priv = sw->priv; + gtk_widget_get_allocation (GTK_WIDGET (sw), &sw_alloc); gtk_widget_get_allocation (indicator->scrollbar, &indicator_alloc); gdk_event_get_coords (event, &x, &y); + /* Make indicator alloc relative to scrolledwindow alloc, which is also + * what the event coords are relative to */ + indicator_alloc.x -= sw_alloc.x; + indicator_alloc.y -= sw_alloc.y; + if (indicator->over) distance = INDICATOR_FAR_DISTANCE; else |