[gtk+] gesturesingle: Ensure the current button stays set until after the touch/button release
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gesturesingle: Ensure the current button stays set until after the touch/button release
- Date: Wed, 11 Jun 2014 15:51:33 +0000 (UTC)
commit 20a59985fe365a703fdf270e15608b5debda20e2
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Jun 11 17:34:23 2014 +0200
gesturesingle: Ensure the current button stays set until after the touch/button release
This makes gtk_gesture_get_current_button() work properly on GtkGesture::end, and signals
spawn from there on subclasses.
gtk/gtkgesturesingle.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkgesturesingle.c b/gtk/gtkgesturesingle.c
index 08e5b42..ac91851 100644
--- a/gtk/gtkgesturesingle.c
+++ b/gtk/gtkgesturesingle.c
@@ -131,6 +131,7 @@ gtk_gesture_single_handle_event (GtkEventController *controller,
GdkDevice *source_device;
GdkInputSource source;
guint button = 0, i;
+ gboolean retval;
source_device = gdk_event_get_source_device (event);
@@ -204,11 +205,14 @@ gtk_gesture_single_handle_event (GtkEventController *controller,
priv->current_button = button;
}
- else if (sequence == priv->current_sequence &&
- (event->type == GDK_BUTTON_RELEASE || event->type == GDK_TOUCH_END))
+
+ retval = GTK_EVENT_CONTROLLER_CLASS (gtk_gesture_single_parent_class)->handle_event (controller, event);
+
+ if (sequence == priv->current_sequence &&
+ (event->type == GDK_BUTTON_RELEASE || event->type == GDK_TOUCH_END))
priv->current_button = 0;
- return GTK_EVENT_CONTROLLER_CLASS (gtk_gesture_single_parent_class)->handle_event (controller, event);
+ return retval;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]