From a7e2a494eddf8550051de41dfe9d0c58c9bdcbe1 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 5 Mar 2013 05:47:24 +0000 Subject: [PATCH] Added consistency check on removing cliques - that they exist in their parent's children list. --- gtsam/inference/BayesTree-inl.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gtsam/inference/BayesTree-inl.h b/gtsam/inference/BayesTree-inl.h index 3398b0803..1f6562d28 100644 --- a/gtsam/inference/BayesTree-inl.h +++ b/gtsam/inference/BayesTree-inl.h @@ -253,8 +253,12 @@ namespace gtsam { if (clique->isRoot()) root_.reset(); - else // detach clique from parent - clique->parent_.lock()->children_.remove(clique); + else { // detach clique from parent + sharedClique parent = clique->parent_.lock(); + std::list::iterator child = std::find(parent->children().begin(), parent->children().end(), clique); + assert(child != parent->children().end()); + parent->children().erase(child); + } // orphan my children BOOST_FOREACH(sharedClique child, clique->children_)