From 2bb84d916928943288237f3f844213736eb61360 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 3 May 2012 18:58:12 +0200 Subject: [PATCH] x11/device-manager-xi2: Fix assertions with touch When getting touch events, the device manager would try to pass an invalid device to translate_axes(). clutter_event_set_device() will only update event->touch.device for touch events, not event->motion.device, as used. Fixes Totem crashing on mouse motion/button press when using a touchpad. https://bugzilla.gnome.org/show_bug.cgi?id=675371 --- clutter/x11/clutter-device-manager-xi2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c index 681c690..73e99af 100644 --- a/clutter/x11/clutter-device-manager-xi2.c +++ b/clutter/x11/clutter-device-manager-xi2.c @@ -1045,7 +1045,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator, GINT_TO_POINTER (xev->deviceid)); clutter_event_set_device (event, device); - event->touch.axes = translate_axes (event->motion.device, + event->touch.axes = translate_axes (event->touch.device, event->motion.x, event->motion.y, stage_x11, @@ -1098,7 +1098,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator, GINT_TO_POINTER (xev->deviceid)); clutter_event_set_device (event, device); - event->touch.axes = translate_axes (event->motion.device, + event->touch.axes = translate_axes (event->touch.device, event->motion.x, event->motion.y, stage_x11, -- 2.7.4