Index: webrtc/base/network.cc |
diff --git a/webrtc/base/network.cc b/webrtc/base/network.cc |
index 6b04f891a1bc56c61678024f3587b02815b1f67d..4f3b91981e4f08cef9a318e1be96af00c54eece5 100644 |
--- a/webrtc/base/network.cc |
+++ b/webrtc/base/network.cc |
@@ -317,10 +317,11 @@ void NetworkManagerBase::MergeNetworkList(const NetworkList& new_networks, |
networks_ = merged_list; |
// Reset the active states of all networks. |
for (const auto& kv : networks_map_) { |
- kv.second->set_active(false); |
- } |
- for (Network* network : networks_) { |
- network->set_active(true); |
+ Network* network = kv.second; |
+ // If |network| is in the newly generated |networks_|, it is active. |
+ bool found = std::find(networks_.begin(), networks_.end(), network) != |
+ networks_.end(); |
+ network->set_active(found); |
} |
std::sort(networks_.begin(), networks_.end(), SortNetworks); |
// Now network interfaces are sorted, we should set the preference value |