| Index: sync/internal_api/sync_rollback_manager_base.cc
|
| diff --git a/sync/internal_api/sync_rollback_manager_base.cc b/sync/internal_api/sync_rollback_manager_base.cc
|
| index 6f0e5340f1d4e37d68d73ff63a1912bb4b3f630b..28afb8b54d06009f2d2848188ea3f11e468f85aa 100644
|
| --- a/sync/internal_api/sync_rollback_manager_base.cc
|
| +++ b/sync/internal_api/sync_rollback_manager_base.cc
|
| @@ -43,7 +43,8 @@ namespace syncer {
|
| SyncRollbackManagerBase::SyncRollbackManagerBase()
|
| : report_unrecoverable_error_function_(NULL),
|
| weak_ptr_factory_(this),
|
| - dummy_handler_(new DummyEntryptionHandler) {
|
| + dummy_handler_(new DummyEntryptionHandler),
|
| + initialized_(false) {
|
| }
|
|
|
| SyncRollbackManagerBase::~SyncRollbackManagerBase() {
|
| @@ -77,6 +78,7 @@ void SyncRollbackManagerBase::Init(
|
| return;
|
| }
|
|
|
| + initialized_ = true;
|
| NotifyInitializationSuccess();
|
| }
|
|
|
| @@ -151,10 +153,11 @@ void SyncRollbackManagerBase::SaveChanges() {
|
| }
|
|
|
| void SyncRollbackManagerBase::ShutdownOnSyncThread() {
|
| - if (share_.directory) {
|
| + if (initialized_) {
|
| SaveChanges();
|
| share_.directory->Close();
|
| share_.directory.reset();
|
| + initialized_ = false;
|
| }
|
| }
|
|
|
|
|