| Index: device/hid/hid_service.cc
|
| diff --git a/device/hid/hid_service.cc b/device/hid/hid_service.cc
|
| index fc50a41d5abf0841ffece481f03054d2d1fe43f2..433a80b5d6a6c413ef5babc4eea5f3d7e93dd2e1 100644
|
| --- a/device/hid/hid_service.cc
|
| +++ b/device/hid/hid_service.cc
|
| @@ -45,8 +45,9 @@ HidService* HidService::GetInstance(
|
| g_service = new HidServiceWin(file_task_runner);
|
| #endif
|
| if (g_service != nullptr) {
|
| + scoped_ptr<HidService> owned_service(g_service);
|
| base::AtExitManager::RegisterTask(base::Bind(
|
| - &base::DeletePointer<HidService>, base::Unretained(g_service)));
|
| + &base::DeletePointer<HidService>, base::Passed(&owned_service)));
|
| }
|
| }
|
| return g_service;
|
| @@ -55,8 +56,9 @@ HidService* HidService::GetInstance(
|
| void HidService::SetInstanceForTest(HidService* instance) {
|
| DCHECK(!g_service);
|
| g_service = instance;
|
| + scoped_ptr<HidService> owned_service(instance);
|
| base::AtExitManager::RegisterTask(base::Bind(&base::DeletePointer<HidService>,
|
| - base::Unretained(g_service)));
|
| + base::Passed(&owned_service)));
|
| }
|
|
|
| void HidService::GetDevices(const GetDevicesCallback& callback) {
|
|
|