1
0
Fork 0
mutter-performance-source/src/ui
Carlos Garnacho 991c85f6a0 core: Add minimal handling of touch events
Currently touch events are ignored in the core event handler,
and hence dealt with within GDK. If those touch events were
emulating pointer events, GDK would attempt to convert back
those events to pointer events as the frame GdkWindow doesn't
have the GDK_TOUCH_MASK set.

This results in XI_TouchBegin events being initially processed
by GDK, converted to button events, and triggering a grab op
that subverts touch events into pointer events, so the touch
is never ever seen again by GDK. This leaves GDK in an
inconsistent internal state wrt pointer grabs, so future
pointer-emulating touches will refer to the same window forever.

Fix this by handling touch events minimally, just enough to
convert XI_TouchBegin to GDK_BUTTON_PRESS within mutter, so GDK
is bypassed for every touch event just like it is for pointer
events. This, and the XIGrabDevice() that keeps coercing pointer
events when the grab operation starts, are enough to fix window
drag and drop on touch devices.

https://bugzilla.gnome.org/show_bug.cgi?id=723552
2014-03-13 20:10:07 +01:00
..
frames.c Fix handling of dynamic updates to colors/font/etc. 2014-03-05 17:21:27 -05:00
frames.h Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
gradient.c Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
menu.c Fix regression in mutter translations 2014-02-17 13:46:56 -05:00
menu.h Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
metaaccellabel.c Fix regression in mutter translations 2014-02-17 13:46:56 -05:00
metaaccellabel.h Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
resizepopup.c Fix regression in mutter translations 2014-02-17 13:46:56 -05:00
resizepopup.h Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
testgradient.c Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
theme-parser.c Fix regression in mutter translations 2014-02-17 13:46:56 -05:00
theme-private.h Changed obsolete FSF postal address into generic URL. 2014-01-12 08:42:06 +07:00
theme.c Fix regression in mutter translations 2014-02-17 13:46:56 -05:00
ui.c core: Add minimal handling of touch events 2014-03-13 20:10:07 +01:00
ui.h Remove tabpopup and friends 2014-02-27 15:31:55 -05:00