Index: cc/surfaces/surface_manager.cc |
diff --git a/cc/surfaces/surface_manager.cc b/cc/surfaces/surface_manager.cc |
index 753191d7460be547e751b117afe584ad3734c89b..d5638be959559b1ecf4f43b9233183a678f63310 100644 |
--- a/cc/surfaces/surface_manager.cc |
+++ b/cc/surfaces/surface_manager.cc |
@@ -582,7 +582,8 @@ void SurfaceManager::UnregisterFrameSinkHierarchy( |
// The SurfaceFactoryClient and hierarchy can be registered/unregistered |
// in either order, so empty frame_sink_source_map entries need to be |
// checked when removing either clients or relationships. |
- if (!iter->second.has_children() && !clients_.count(parent_frame_sink_id)) { |
+ if (!iter->second.has_children() && !clients_.count(parent_frame_sink_id) && |
+ !iter->second.source) { |
frame_sink_source_map_.erase(iter); |
return; |
} |