From 6e40c5c9d6e30393c51cbd80a501d1b4fc58eef6 Mon Sep 17 00:00:00 2001 From: rachytski Date: Fri, 25 May 2012 23:38:57 +0400 Subject: fixed bug in m4::Tree::Erase --- geometry/tree4d.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'geometry') diff --git a/geometry/tree4d.hpp b/geometry/tree4d.hpp index 001094248b..2634664715 100644 --- a/geometry/tree4d.hpp +++ b/geometry/tree4d.hpp @@ -154,9 +154,13 @@ namespace m4 void Erase(T const & obj) { + vector v; for (typename tree_t::const_iterator i = m_tree.begin(); i != m_tree.end(); ++i) if ((*i).m_val == obj) - m_tree.erase(*i); + v.push_back(*i); + + for (unsigned i = 0; i < v.size(); ++i) + m_tree.erase(v[i]); } template -- cgit v1.2.3