From 47b3ea9cec9516912eaa08de8927aa2262184a2e Mon Sep 17 00:00:00 2001 From: librelois <elois@ifee.fr> Date: Sun, 8 Sep 2019 14:55:07 +0200 Subject: [PATCH] [fix] fork tree: remove orphan sheets --- .../bc-db-reader/src/entities/fork_tree.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs b/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs index ba2bd95c..3764e3c9 100644 --- a/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs +++ b/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs @@ -452,6 +452,17 @@ impl ForkTree { self.nodes[root_node_id.0] = None; self.sheets.remove(&root_node_id); self.root = Some(root_node_main_child_id); + + // Remove orphan sheets + for (tree_node_id, _) in self.get_sheets() { + if let Some(node_opt) = self.nodes.get(tree_node_id.0) { + if node_opt.is_none() { + self.sheets.remove(&tree_node_id); + } + } else { + self.sheets.remove(&tree_node_id); + } + } } /// Return removed blockstamps -- GitLab