From 2d25656e051b74707b22e8af2202aafc0bb6e132 Mon Sep 17 00:00:00 2001 From: Porteries Tristan Date: Thu, 2 Jul 2015 12:20:13 +0200 Subject: BGE: Fix T45267 Lib load without material caching. --- source/gameengine/Converter/KX_BlenderSceneConverter.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp index 9e53d9e1569..e3eb6a28337 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp @@ -1359,14 +1359,18 @@ bool KX_BlenderSceneConverter::MergeScene(KX_Scene *to, KX_Scene *from) } MaterialCache::iterator matcacheit = m_mat_cache.find(from); - // Merge cached BL_Material map. - m_mat_cache[to].insert(matcacheit->second.begin(), matcacheit->second.end()); - m_mat_cache.erase(matcacheit); + if (matcacheit != m_mat_cache.end()) { + // Merge cached BL_Material map. + m_mat_cache[to].insert(matcacheit->second.begin(), matcacheit->second.end()); + m_mat_cache.erase(matcacheit); + } PolyMaterialCache::iterator polymatcacheit = m_polymat_cache.find(from); - // Merge cached RAS_IPolyMaterial map. - m_polymat_cache[to].insert(polymatcacheit->second.begin(), polymatcacheit->second.end()); - m_polymat_cache.erase(polymatcacheit); + if (polymatcacheit != m_polymat_cache.end()) { + // Merge cached RAS_IPolyMaterial map. + m_polymat_cache[to].insert(polymatcacheit->second.begin(), polymatcacheit->second.end()); + m_polymat_cache.erase(polymatcacheit); + } return true; } -- cgit v1.2.3