Index: device/gamepad/gamepad_provider.cc |
diff --git a/device/gamepad/gamepad_provider.cc b/device/gamepad/gamepad_provider.cc |
index 510194da0e81454445229e79db63bb739d0f1dbe..d5dd358702c74bcdb42ada0696cce0fd2a56f6d3 100644 |
--- a/device/gamepad/gamepad_provider.cc |
+++ b/device/gamepad/gamepad_provider.cc |
@@ -187,9 +187,11 @@ void GamepadProvider::DoRemoveSourceGamepadDataFetcher(GamepadSource source) { |
DCHECK(polling_thread_->task_runner()->BelongsToCurrentThread()); |
for (GamepadFetcherVector::iterator it = data_fetchers_.begin(); |
- it != data_fetchers_.end(); ++it) { |
+ it != data_fetchers_.end();) { |
if ((*it)->source() == source) { |
- data_fetchers_.erase(it); |
+ it = data_fetchers_.erase(it); |
+ } else { |
+ ++it; |
} |
} |
} |