diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 7921a1055..bdf2a892d 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -3533,7 +3533,7 @@ namespace bgfx void invalidate(ViewId _viewId) { - for (UniformKeyHashMap::iterator itKey = m_uniformKeyHashMap.begin(), itEnd = m_uniformKeyHashMap.end(); itKey != itEnd; ++itKey) + for (UniformKeyHashMap::iterator itKey = m_uniformKeyHashMap.begin(), itEnd = m_uniformKeyHashMap.end(); itKey != itEnd;) { UniformCacheKey key; key.decode(uint64_t(itKey->first) << 32); @@ -3547,6 +3547,10 @@ namespace bgfx m_uniformKeyHashMap.erase(itErase); } + else + { + ++itKey; + } } }