| Index: mojo/services/view_manager/view_manager_connection.cc
|
| diff --git a/mojo/services/view_manager/view_manager_connection.cc b/mojo/services/view_manager/view_manager_connection.cc
|
| index cac1ef3ec02fbd1ea22f825cf04bd9429f0a79c9..4621ab9aab0302b8e44ddb53e6556a461b2d3f72 100644
|
| --- a/mojo/services/view_manager/view_manager_connection.cc
|
| +++ b/mojo/services/view_manager/view_manager_connection.cc
|
| @@ -121,12 +121,14 @@ void ViewManagerConnection::ProcessNodeViewReplaced(
|
| bool originated_change) {
|
| if (originated_change)
|
| return;
|
| - const TransportViewId new_view_id = new_view ?
|
| - ViewIdToTransportId(new_view->id()) : 0;
|
| - const TransportViewId old_view_id = old_view ?
|
| - ViewIdToTransportId(old_view->id()) : 0;
|
| - client()->OnNodeViewReplaced(NodeIdToTransportId(node->id()),
|
| - new_view_id, old_view_id);
|
| + if (known_nodes_.count(NodeIdToTransportId(node->id())) > 0) {
|
| + const TransportViewId new_view_id = new_view ?
|
| + ViewIdToTransportId(new_view->id()) : 0;
|
| + const TransportViewId old_view_id = old_view ?
|
| + ViewIdToTransportId(old_view->id()) : 0;
|
| + client()->OnNodeViewReplaced(NodeIdToTransportId(node->id()),
|
| + new_view_id, old_view_id);
|
| + }
|
| }
|
|
|
| void ViewManagerConnection::ProcessNodeDeleted(
|
| @@ -264,6 +266,7 @@ void ViewManagerConnection::CreateNode(
|
| return;
|
| }
|
| node_map_[node_id.node_id] = new Node(this, node_id);
|
| + known_nodes_.insert(transport_node_id);
|
| callback.Run(true);
|
| }
|
|
|
|
|