]> git.lizzy.rs Git - minetest.git/commitdiff
Fix segfault caused by shadow map on exit
authorSmallJoker <mk939@ymail.com>
Thu, 12 Aug 2021 18:03:25 +0000 (20:03 +0200)
committerSmallJoker <mk939@ymail.com>
Thu, 12 Aug 2021 18:08:39 +0000 (20:08 +0200)
src/client/wieldmesh.cpp

index 7597aaa88223c63dc7653c1f01c344803a3bb66c..6beed3f3a4a0af5c190833b3abad3c047b57d072 100644 (file)
@@ -229,9 +229,9 @@ WieldMeshSceneNode::~WieldMeshSceneNode()
 {
        sanity_check(g_extrusion_mesh_cache);
 
-       // Remove node from shadow casters
-       if (m_shadow)
-               m_shadow->removeNodeFromShadowList(m_meshnode);
+       // Remove node from shadow casters. m_shadow might be an invalid pointer!
+       if (auto shadow = RenderingEngine::get_shadow_renderer())
+               shadow->removeNodeFromShadowList(m_meshnode);
 
        if (g_extrusion_mesh_cache->drop())
                g_extrusion_mesh_cache = nullptr;