Chromium Code Reviews| 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 230b7fa5328cbecf9e0ee76c31428712ea5489a2..0f62b33f5fbc2bb9988a78872a17bcbfb81d89a4 100644 |
| --- a/ui/events/devices/x11/device_data_manager_x11.cc |
| +++ b/ui/events/devices/x11/device_data_manager_x11.cc |
| @@ -10,6 +10,8 @@ |
| #include <utility> |
| +#include "base/bind.h" |
| +#include "base/bind_helpers.h" |
| #include "base/logging.h" |
| #include "base/memory/singleton.h" |
| #include "base/sys_info.h" |
| @@ -130,7 +132,11 @@ void DeviceDataManagerX11::CreateInstance() { |
| if (instance()) |
| return; |
| - new DeviceDataManagerX11(); |
| + DeviceDataManagerX11* device_data_manager = new DeviceDataManagerX11(); |
| + base::AtExitManager::RegisterTask( |
| + base::Bind(&base::DeletePointer<DeviceDataManager>, device_data_manager)); |
|
sadrul
2015/06/27 07:09:05
Can we avoid setting a callback here, and explicit
|
| + |
| + set_instance(device_data_manager); |
| } |
| // static |