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..69f2b77a8becd40aaae39e08e4ef22b6e8f72755 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -121,12 +121,15 @@ 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_.find(NodeIdToTransportId(node->id())) != |
sky
2014/05/16 23:28:22
nit: use known_nodes_.count > 0 (it's shorter and
|
+ known_nodes_.end()) { |
+ 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 +267,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); |
} |