From b4b6187aaa21e702bac7c9562b449c5de50e5460 Mon Sep 17 00:00:00 2001 From: Fate Date: Sun, 23 Nov 2008 18:47:38 -0700 Subject: Delete resources after removing from the orphan list, to avoid double frees during recursion --- src/resources/resourcemanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index 073e41c4..90b29374 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -130,10 +130,10 @@ void ResourceManager::cleanOrphans() else { logger->log("ResourceManager::release(%s)", res->mIdPath.c_str()); - delete res; ResourceIterator toErase = iter; ++iter; mOrphanedResources.erase(toErase); + delete res; // delete only after removal from list, to avoid issues in recursion } } -- cgit v1.2.3-70-g09d2