| Index: mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc
|
| diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc b/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc
|
| index 84bdd2627b570d61dd835183062647ad6bfa0ec1..9b21dab833c1e7e2f42096543613c4796dfb189c 100644
|
| --- a/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc
|
| +++ b/mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc
|
| @@ -561,13 +561,14 @@ void ViewManagerSynchronizer::OnViewManagerConnectionEstablished(
|
| connection_id_ = connection_id;
|
| next_server_change_id_ = next_server_change_id;
|
|
|
| + DCHECK(pending_transactions_.empty());
|
| ViewManagerPrivate private_manager(view_manager());
|
| - private_manager.set_root(BuildNodeTree(view_manager(), nodes));
|
| - Sync();
|
| - private_manager.NotifyReady();
|
| + private_manager.AddRoot(BuildNodeTree(view_manager(), nodes));
|
| }
|
|
|
| void ViewManagerSynchronizer::OnRootsAdded(Array<INodePtr> nodes) {
|
| + ViewManagerPrivate private_manager(view_manager());
|
| + private_manager.AddRoot(BuildNodeTree(view_manager(), nodes));
|
| }
|
|
|
| void ViewManagerSynchronizer::OnServerChangeIdAdvanced(
|
| @@ -608,11 +609,8 @@ void ViewManagerSynchronizer::OnNodeDeleted(uint32_t node_id,
|
| next_server_change_id_ = server_change_id + 1;
|
|
|
| ViewTreeNode* node = view_manager()->GetNodeById(node_id);
|
| - if (node) {
|
| - if (view_manager()->tree() == node)
|
| - ViewManagerPrivate(view_manager()).set_root(NULL);
|
| + if (node)
|
| ViewTreeNodePrivate(node).LocalDestroy();
|
| - }
|
| }
|
|
|
| void ViewManagerSynchronizer::OnNodeViewReplaced(uint32_t node_id,
|
|
|