x11: Reset scroll valuators
authorEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 19 Mar 2012 14:27:54 +0000 (14:27 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 19 Mar 2012 14:29:23 +0000 (14:29 +0000)
We need to clear up the state on enter and leave, as well as when the X
server tells us that the device has changed.

clutter/x11/clutter-device-manager-xi2.c

index bdbe536..da669bb 100644 (file)
@@ -672,6 +672,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         device = g_hash_table_lookup (manager_xi2->devices_by_id,
                                       GINT_TO_POINTER (xev->deviceid));
         _clutter_input_device_reset_axes (device);
+        _clutter_input_device_reset_scroll_info (device);
         translate_device_classes (backend_x11->xdpy,
                                   device,
                                   xev->classes,
@@ -990,6 +991,8 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
             _clutter_stage_remove_device (stage, device);
           }
 
+        _clutter_input_device_reset_scroll_info (source_device);
+
         clutter_event_set_device (event, device);
         clutter_event_set_source_device (event, source_device);