summaryrefslogtreecommitdiff
path: root/gtk/gtkstackswitcher.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2017-06-28 08:19:35 +0200
committerMatthias Clasen <mclasen@redhat.com>2017-07-19 21:27:15 -0400
commit3dc6d240b34cb8695e421981acfe1efd2239bb1e (patch)
tree06d829ddf5ccf12bd91eed189b13a850ce9e98e5 /gtk/gtkstackswitcher.c
parent2c2867d45d15ba72410993ba6c65ab728401762b (diff)
downloadgtk+-3dc6d240b34cb8695e421981acfe1efd2239bb1e.tar.gz
Fix a few allocation coordinates & sizes
Diffstat (limited to 'gtk/gtkstackswitcher.c')
-rw-r--r--gtk/gtkstackswitcher.c14
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;