diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2014-06-04 12:56:57 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2014-06-04 13:44:56 +0200 |
commit | cb059bfc1b5cdcdf41e9b908e70d0b71c25e65c8 (patch) | |
tree | ff0a1c6efff1de2df49c642b3e3def90b2a32773 /gtk/gtkwidget.c | |
parent | 7a0642743d20ef5fc6cf3b58d104b3fbd2c532a4 (diff) | |
download | gtk+-cb059bfc1b5cdcdf41e9b908e70d0b71c25e65c8.tar.gz |
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.
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 2aa5acc2e0..39c0338d39 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; |