| Index: ui/events/devices/x11/touch_factory_x11.cc
|
| diff --git a/ui/events/devices/x11/touch_factory_x11.cc b/ui/events/devices/x11/touch_factory_x11.cc
|
| index 929c5959b109416334cf0ef74b004a255566ff05..1dce5048d6bff599e5ff41b83035b0885c2a4949 100644
|
| --- a/ui/events/devices/x11/touch_factory_x11.cc
|
| +++ b/ui/events/devices/x11/touch_factory_x11.cc
|
| @@ -250,8 +250,14 @@
|
| return id_generator_.GetGeneratedID(tracking_id);
|
| }
|
|
|
| +void TouchFactory::AcquireSlotForTrackingID(uint32 tracking_id) {
|
| + tracking_id_refcounts_[tracking_id]++;
|
| +}
|
| +
|
| void TouchFactory::ReleaseSlotForTrackingID(uint32 tracking_id) {
|
| - id_generator_.ReleaseNumber(tracking_id);
|
| + tracking_id_refcounts_[tracking_id]--;
|
| + if (tracking_id_refcounts_[tracking_id] == 0)
|
| + id_generator_.ReleaseNumber(tracking_id);
|
| }
|
|
|
| bool TouchFactory::IsTouchDevicePresent() {
|
| @@ -264,6 +270,7 @@
|
| touch_events_disabled_ = false;
|
| touch_device_list_.clear();
|
| touchscreen_ids_.clear();
|
| + tracking_id_refcounts_.clear();
|
| id_generator_.ResetForTest();
|
| }
|
|
|
|
|