From 204d3aed78ff1e1e32d2999763155367440d0baa Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 3 Jan 2020 01:11:28 +0100 Subject: [PATCH] ObjLoading: Fix Repository not updating iterator when erasing entry --- src/ObjLoading/ObjContainer/ObjContainerRepository.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ObjLoading/ObjContainer/ObjContainerRepository.h b/src/ObjLoading/ObjContainer/ObjContainerRepository.h index a5c903d8..5a6282d8 100644 --- a/src/ObjLoading/ObjContainer/ObjContainerRepository.h +++ b/src/ObjLoading/ObjContainer/ObjContainerRepository.h @@ -47,7 +47,7 @@ public: void RemoveContainerReferences(ReferencerType* referencer) { - for(auto iEntry = m_containers.begin(); iEntry != m_containers.end(); ++iEntry) + for(auto iEntry = m_containers.begin(); iEntry != m_containers.end();) { auto foundReference = iEntry->m_references.find(referencer); @@ -59,7 +59,11 @@ public: if(iEntry->m_references.empty()) { delete iEntry->m_container; - m_containers.erase(iEntry); + iEntry = m_containers.erase(iEntry); + } + else + { + ++iEntry; } } }