| Index: chrome/browser/sync/sessions/sync_session.cc
|
| diff --git a/chrome/browser/sync/sessions/sync_session.cc b/chrome/browser/sync/sessions/sync_session.cc
|
| index cd01375d627e19dcf9dabc04a35970ddac393a92..bff0063c6a1f0dba9c0facab6f9ed3bf9a22c755 100644
|
| --- a/chrome/browser/sync/sessions/sync_session.cc
|
| +++ b/chrome/browser/sync/sessions/sync_session.cc
|
| @@ -41,11 +41,14 @@ void SyncSession::Coalesce(const SyncSession& session) {
|
| std::back_inserter(temp));
|
| workers_.swap(temp);
|
|
|
| - ModelSafeRoutingInfo temp_r;
|
| - std::set_union(routing_info_.begin(), routing_info_.end(),
|
| - session.routing_info_.begin(), session.routing_info_.end(),
|
| - std::insert_iterator<ModelSafeRoutingInfo>(temp_r, temp_r.begin()));
|
| - routing_info_.swap(temp_r);
|
| + // We have to update the model safe routing info to the union. In case the
|
| + // same key is present in both pick the one from session.
|
| + for (ModelSafeRoutingInfo::const_iterator it =
|
| + session.routing_info_.begin();
|
| + it != session.routing_info_.end();
|
| + it++) {
|
| + routing_info_[it->first] = it->second;
|
| + }
|
| }
|
|
|
| void SyncSession::ResetTransientState() {
|
|
|