| Index: tools/android/forwarder2/device_controller.cc
|
| diff --git a/tools/android/forwarder2/device_controller.cc b/tools/android/forwarder2/device_controller.cc
|
| index 37b754b311c8c2ec33bed5ca52278241283af9ec..a4cb9c75dc37a319eb933cf1de18b6a578163fca 100644
|
| --- a/tools/android/forwarder2/device_controller.cc
|
| +++ b/tools/android/forwarder2/device_controller.cc
|
| @@ -141,17 +141,18 @@ void DeviceController::AcceptHostCommandInternal() {
|
| void DeviceController::DeleteListenerOnError(
|
| const base::WeakPtr<DeviceController>& device_controller_ptr,
|
| scoped_ptr<DeviceListener> device_listener) {
|
| + DeviceListener* const listener = device_listener.release();
|
| DeviceController* const controller = device_controller_ptr.get();
|
| if (!controller) {
|
| - // |device_listener| was already deleted by the controller that did have
|
| - // its ownership.
|
| - ignore_result(device_listener.release());
|
| + // |listener| was already deleted by the controller that did have its
|
| + // ownership.
|
| return;
|
| }
|
| DCHECK(controller->construction_task_runner_->RunsTasksOnCurrentThread());
|
| bool listener_did_exist = DeleteRefCountedValueInMap(
|
| - device_listener->listener_port(), &controller->listeners_);
|
| + listener->listener_port(), &controller->listeners_);
|
| DCHECK(listener_did_exist);
|
| + // Note that |listener| was deleted by DeleteRefCountedValueInMap().
|
| }
|
|
|
| } // namespace forwarder
|
|
|