| Index: sync/internal_api/sync_manager_impl.cc
|
| diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
|
| index 30bbafd2b4f5c72ac351eb3f595e6fdf1ea5330e..8d2893923d3e7668dfd5e944fbfa1a10a510d019 100644
|
| --- a/sync/internal_api/sync_manager_impl.cc
|
| +++ b/sync/internal_api/sync_manager_impl.cc
|
| @@ -387,6 +387,7 @@ void SyncManagerImpl::Init(InitArgs* args) {
|
|
|
| model_type_registry_.reset(
|
| new ModelTypeRegistry(args->workers, directory(), this));
|
| + sync_encryption_handler_->AddObserver(model_type_registry_.get());
|
|
|
| // Bind the SyncContext WeakPtr to this thread. This helps us crash earlier
|
| // if the pointer is misused in debug mode.
|
| @@ -607,6 +608,10 @@ void SyncManagerImpl::ShutdownOnSyncThread(ShutdownReason reason) {
|
|
|
| scheduler_.reset();
|
| session_context_.reset();
|
| +
|
| + if (model_type_registry_) {
|
| + sync_encryption_handler_->RemoveObserver(model_type_registry_.get());
|
| + }
|
| model_type_registry_.reset();
|
|
|
| if (sync_encryption_handler_) {
|
|
|