| Index: sync/internal_api/sync_rollback_manager.cc
|
| diff --git a/sync/internal_api/sync_rollback_manager.cc b/sync/internal_api/sync_rollback_manager.cc
|
| index 84367b082b05de7e085b09c50c696c68d4935966..967e1ecc76577f65129d710762dc5f83cec6589a 100644
|
| --- a/sync/internal_api/sync_rollback_manager.cc
|
| +++ b/sync/internal_api/sync_rollback_manager.cc
|
| @@ -53,16 +53,18 @@ void SyncRollbackManager::Init(
|
| report_unrecoverable_error_function,
|
| cancelation_signal);
|
|
|
| - change_delegate_ = change_delegate;
|
| + if (initialized()) {
|
| + change_delegate_ = change_delegate;
|
|
|
| - for (size_t i = 0; i < workers.size(); ++i) {
|
| - ModelSafeGroup group = workers[i]->GetModelSafeGroup();
|
| - CHECK(workers_.find(group) == workers_.end());
|
| - workers_[group] = workers[i];
|
| - }
|
| + for (size_t i = 0; i < workers.size(); ++i) {
|
| + ModelSafeGroup group = workers[i]->GetModelSafeGroup();
|
| + CHECK(workers_.find(group) == workers_.end());
|
| + workers_[group] = workers[i];
|
| + }
|
|
|
| - rollback_ready_types_ = GetUserShare()->directory->InitialSyncEndedTypes();
|
| - rollback_ready_types_.RetainAll(BackupTypes());
|
| + rollback_ready_types_ = GetUserShare()->directory->InitialSyncEndedTypes();
|
| + rollback_ready_types_.RetainAll(BackupTypes());
|
| + }
|
| }
|
|
|
| void SyncRollbackManager::StartSyncingNormally(
|
|
|