From 03488c2fa2bb8d9e35a5312b81020b3aaf802462 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 23 Jan 2016 16:17:28 +0100 Subject: [PATCH] Don't reference iterator after it may have been deleted. --- renderdoc/core/resource_manager.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index bc8edee84..6d97d6ea6 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -506,9 +506,10 @@ void ResourceManager::Shutdow while(!m_LiveResourceMap.empty()) { auto it = m_LiveResourceMap.begin(); + ResourceId id = it->first; ResourceTypeRelease(it->second); - auto removeit = m_LiveResourceMap.find(it->first); + auto removeit = m_LiveResourceMap.find(id); if(removeit != m_LiveResourceMap.end()) m_LiveResourceMap.erase(removeit); } @@ -516,9 +517,10 @@ void ResourceManager::Shutdow while(!m_InframeResourceMap.empty()) { auto it = m_InframeResourceMap.begin(); + ResourceId id = it->first; ResourceTypeRelease(it->second); - auto removeit = m_InframeResourceMap.find(it->first); + auto removeit = m_InframeResourceMap.find(id); if(removeit != m_InframeResourceMap.end()) m_InframeResourceMap.erase(removeit); }