Index: ui/events/devices/x11/device_data_manager_x11.cc |
diff --git a/ui/events/devices/x11/device_data_manager_x11.cc b/ui/events/devices/x11/device_data_manager_x11.cc |
index 68fdb2cd30a6466e0dc8d8cc82fbd550ae4065ca..85c697aaa0d33376d8f60a81f768b4a11ad61acf 100644 |
--- a/ui/events/devices/x11/device_data_manager_x11.cc |
+++ b/ui/events/devices/x11/device_data_manager_x11.cc |
@@ -202,6 +202,7 @@ bool DeviceDataManagerX11::IsXInput2Available() const { |
void DeviceDataManagerX11::UpdateDeviceList(Display* display) { |
cmt_devices_.reset(); |
touchpads_.reset(); |
+ master_pointers_.clear(); |
for (int i = 0; i < kMaxDeviceNum; ++i) { |
valuator_count_[i] = 0; |
valuator_lookup_[i].clear(); |
@@ -233,6 +234,9 @@ void DeviceDataManagerX11::UpdateDeviceList(Display* display) { |
for (int i = 0; i < info_list.count; ++i) { |
XIDeviceInfo* info = info_list.devices + i; |
+ if (info->use == XIMasterPointer) |
+ master_pointers_.push_back(info->deviceid); |
+ |
// We currently handle only slave, non-keyboard devices |
if (info->use != XISlavePointer && info->use != XIFloatingSlave) |
continue; |