diff options
author | Timm Bäder <mail@baedert.org> | 2017-06-28 08:19:35 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2017-07-19 21:27:15 -0400 |
commit | 3dc6d240b34cb8695e421981acfe1efd2239bb1e (patch) | |
tree | 06d829ddf5ccf12bd91eed189b13a850ce9e98e5 /gtk/gtkstackswitcher.c | |
parent | 2c2867d45d15ba72410993ba6c65ab728401762b (diff) | |
download | gtk+-3dc6d240b34cb8695e421981acfe1efd2239bb1e.tar.gz |
Fix a few allocation coordinates & sizes
Diffstat (limited to 'gtk/gtkstackswitcher.c')
-rw-r--r-- | gtk/gtkstackswitcher.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c index 37678fdd31..19c887fc8b 100644 --- a/gtk/gtkstackswitcher.c +++ b/gtk/gtkstackswitcher.c @@ -26,6 +26,7 @@ #include "gtkorientable.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtkwidgetprivate.h" /** * SECTION:gtkstackswitcher @@ -294,26 +295,21 @@ gtk_stack_switcher_drag_motion (GtkWidget *widget, { GtkStackSwitcher *self = GTK_STACK_SWITCHER (widget); GtkStackSwitcherPrivate *priv; - GtkAllocation allocation; GtkWidget *button; GHashTableIter iter; gpointer value; gboolean retval = FALSE; - gtk_widget_get_allocation (widget, &allocation); - priv = gtk_stack_switcher_get_instance_private (self); - x += allocation.x; - y += allocation.y; - button = NULL; g_hash_table_iter_init (&iter, priv->buttons); while (g_hash_table_iter_next (&iter, NULL, &value)) { - gtk_widget_get_allocation (GTK_WIDGET (value), &allocation); - if (x >= allocation.x && x <= allocation.x + allocation.width && - y >= allocation.y && y <= allocation.y + allocation.height) + GdkRectangle allocation; + + gtk_widget_get_outer_allocation (GTK_WIDGET (value), &allocation); + if (gdk_rectangle_contains_point (&allocation, (int)x, (int)y)) { button = GTK_WIDGET (value); retval = TRUE; |