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