diff options
author | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-13 21:06:10 +0000 |
---|---|---|
committer | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-13 21:06:10 +0000 |
commit | 9165d5c2b237a46a11e990e11697b422f21fb8bf (patch) | |
tree | 3fbd242c107e9b44b1216ea4e13459d97a6ec867 | |
parent | 8ab24cce8deeb1eca9ee4a9d55da86918ff2a578 (diff) | |
download | chromium_src-9165d5c2b237a46a11e990e11697b422f21fb8bf.zip chromium_src-9165d5c2b237a46a11e990e11697b422f21fb8bf.tar.gz chromium_src-9165d5c2b237a46a11e990e11697b422f21fb8bf.tar.bz2 |
Fix crash described in 27580 by telling bookmark model to remove
a node *after* disassocating from the maps.
BUG=27580
Review URL: http://codereview.chromium.org/391056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31943 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/sync/glue/change_processor.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/browser/sync/glue/change_processor.cc b/chrome/browser/sync/glue/change_processor.cc index bd3847a..4691bd4 100644 --- a/chrome/browser/sync/glue/change_processor.cc +++ b/chrome/browser/sync/glue/change_processor.cc @@ -393,9 +393,9 @@ void ChangeProcessor::ApplyChangesFromSyncModel( } } DCHECK_EQ(dst->GetChildCount(), 0) << "Node being deleted has children"; + model_associator_->Disassociate(changes[i].id); model->Remove(parent, parent->IndexOfChild(dst)); dst = NULL; - model_associator_->Disassociate(changes[i].id); } else { DCHECK_EQ((changes[i].action == sync_api::SyncManager::ChangeRecord::ACTION_ADD), (dst == NULL)) |