[gtk+/portal-race: 69/129] expander: Fix pressed_in_title check
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/portal-race: 69/129] expander: Fix pressed_in_title check
- Date: Mon, 3 Jul 2017 00:49:46 +0000 (UTC)
commit 16f00458ed8dbab83e28902afb169fc8105d51d4
Author: Timm Bäder <mail baedert org>
Date: Sat Jun 17 08:54:59 2017 +0200
expander: Fix pressed_in_title check
gesture coords are relative to the expander widget, the title allocation
is relative to the box child.
gtk/gtkexpander.c | 16 ++++++----------
1 files changed, 6 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 711be4c..12f8191 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -545,20 +545,16 @@ gesture_multipress_pressed_cb (GtkGestureMultiPress *gesture,
GtkExpander *expander)
{
GtkExpanderPrivate *priv = expander->priv;
- GtkAllocation title_allocation, allocation;
+ GtkAllocation title_allocation;
- gtk_widget_get_allocation (GTK_WIDGET (expander), &allocation);
- gtk_widget_get_allocation (priv->title_widget, &title_allocation);
+ gtk_widget_get_own_allocation (priv->title_widget, &title_allocation);
+ gtk_widget_translate_coordinates (priv->title_widget, GTK_WIDGET (expander),
+ title_allocation.x, title_allocation.y,
+ &title_allocation.x, &title_allocation.y);
/* Coordinates are in the widget coordinate system, so transform
* the title_allocation to it.
*/
- title_allocation.x -= allocation.x;
- title_allocation.y -= allocation.y;
-
- priv->pressed_in_title = (x >= title_allocation.x &&
- x < title_allocation.x + title_allocation.width &&
- y >= title_allocation.y &&
- y < title_allocation.y + title_allocation.height);
+ priv->pressed_in_title = gdk_rectangle_contains_point (&title_allocation, x, y);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]