handle pipeline exiting properly

This commit is contained in:
Tim Kuehn 2013-07-29 12:43:41 -07:00
parent e9888b299c
commit b7e2eab2f4

View file

@ -636,7 +636,13 @@ impl Constellation {
Some(constellation_msg::Load) => {
let evicted = self.navigation_context.navigate(frame_tree);
for evicted.iter().advance |frame_tree| {
frame_tree.pipeline.exit();
// exit any pipelines that don't exist outside the evicted frame trees
for frame_tree.iter().advance |frame| {
if self.navigation_context.find(frame.pipeline.id).is_none() {
frame_tree.pipeline.exit();
self.pipelines.remove(&frame_tree.pipeline.id);
}
}
}
}
_ => {}