[gtk+] widget: Set GDK_BUTTON1_MASK on emulated pointer events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] widget: Set GDK_BUTTON1_MASK on emulated pointer events
- Date: Wed, 4 Jun 2014 11:56:16 +0000 (UTC)
commit cb059bfc1b5cdcdf41e9b908e70d0b71c25e65c8
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Jun 4 12:56:57 2014 +0200
widget: Set GDK_BUTTON1_MASK on emulated pointer events
The touch_event handler was missing those when emulating pointer events
for the widgets that get GDK_TOUCH_MASK set, but have no specialized
touch handlers.
gtk/gtkwidget.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 2aa5acc..39c0338 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -7218,6 +7218,9 @@ gtk_widget_real_touch_event (GtkWidget *widget,
bevent->button.axes = g_memdup (event->axes,
sizeof (gdouble) * gdk_device_get_n_axes (event->device));
gdk_event_set_source_device (bevent, gdk_event_get_source_device ((GdkEvent*)event));
+
+ if (event->type == GDK_TOUCH_END)
+ bevent->button.state |= GDK_BUTTON1_MASK;
}
else if (event->type == GDK_TOUCH_UPDATE)
{
@@ -7226,7 +7229,7 @@ gtk_widget_real_touch_event (GtkWidget *widget,
bevent->any.window = g_object_ref (event->window);
bevent->any.send_event = FALSE;
bevent->motion.time = event->time;
- bevent->motion.state = event->state;
+ bevent->motion.state = event->state | GDK_BUTTON1_MASK;
bevent->motion.x_root = event->x_root;
bevent->motion.y_root = event->y_root;
bevent->motion.x = event->x;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]