exit the correct evicted pipelines

This commit is contained in:
Tim Kuehn 2013-09-20 22:43:45 -04:00
parent d6769de467
commit d77a07388f

View file

@ -770,12 +770,13 @@ impl Constellation {
match navigation_type { match navigation_type {
constellation_msg::Load => { constellation_msg::Load => {
let evicted = self.navigation_context.load(frame_tree); let evicted = self.navigation_context.load(frame_tree);
let mut exited = HashSet::new();
// exit any pipelines that don't exist outside the evicted frame trees
for frame_tree in evicted.iter() { for frame_tree in evicted.iter() {
// exit any pipelines that don't exist outside the evicted frame trees for @FrameTree { pipeline, _ } in frame_tree.iter() {
for frame in frame_tree.iter() { if !self.navigation_context.contains(pipeline.id) {
if !self.navigation_context.contains(frame.pipeline.id) { pipeline.exit();
frame_tree.pipeline.exit(); self.pipelines.remove(&pipeline.id);
self.pipelines.remove(&frame_tree.pipeline.id);
} }
} }
} }