[gtk+/multitouch: 93/129] gtk, pah: Handle press-and-hold on touch devices
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/multitouch: 93/129] gtk, pah: Handle press-and-hold on touch devices
- Date: Sat, 18 Feb 2012 17:14:09 +0000 (UTC)
commit c201145d02f3984464d12c4afc5a57a39d874287
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Nov 23 21:32:29 2011 +0100
gtk,pah: Handle press-and-hold on touch devices
gtk/gtkwidget.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 2dbc51b..d68b232 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -7050,7 +7050,8 @@ _gtk_widget_press_and_hold_check_cancel (GtkWidget *widget,
{
PressAndHoldData *data;
- if (event->type != GDK_BUTTON_RELEASE)
+ if (event->type != GDK_BUTTON_RELEASE &&
+ event->type != GDK_TOUCH_RELEASE)
return FALSE;
data = gtk_widget_peek_press_and_hold_data (widget);
@@ -7072,7 +7073,8 @@ _gtk_widget_press_and_hold_check_threshold (GtkWidget *widget,
PressAndHoldData *data;
GdkDevice *device;
- if (event->type != GDK_MOTION_NOTIFY)
+ if (event->type != GDK_MOTION_NOTIFY &&
+ event->type != GDK_TOUCH_MOTION)
return FALSE;
data = gtk_widget_peek_press_and_hold_data (widget);
@@ -7236,7 +7238,8 @@ _gtk_widget_press_and_hold_check_start (GtkWidget *widget,
{
PressAndHoldData *data = gtk_widget_peek_press_and_hold_data (widget);
- if (event->type != GDK_BUTTON_PRESS)
+ if (event->type != GDK_BUTTON_PRESS &&
+ event->type != GDK_TOUCH_PRESS)
return FALSE;
/* Press and hold already in process? */
@@ -7244,6 +7247,7 @@ _gtk_widget_press_and_hold_check_start (GtkWidget *widget,
return FALSE;
data = gtk_widget_get_press_and_hold_data (widget);
+ data->device = gdk_event_get_device ((GdkEvent *) event);
if (gtk_widget_press_and_hold_query (widget, data->device,
event->x, event->y))
@@ -7308,8 +7312,6 @@ _gtk_widget_press_and_hold_check_start (GtkWidget *widget,
gdk_threads_add_timeout (begin_ani_timeout,
gtk_widget_press_and_hold_begin_animation_timeout,
widget);
-
- data->device = gdk_event_get_device ((GdkEvent *) event);
}
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]