]> git.lizzy.rs Git - minetest.git/blobdiff - src/itemdef.cpp
Attempt to fix some minor memory leaks
[minetest.git] / src / itemdef.cpp
index a646134af7aa41c8e95c1f5ed8b1968d49835f1f..934150aa17dac25429f2d624f0f322e69aeeec48 100644 (file)
@@ -290,8 +290,11 @@ class CItemDefManager: public IWritableItemDefManager
                // Ensure that the "" item (the hand) always has ToolCapabilities
                if(def.name == "")
                        assert(def.tool_capabilities != NULL);
-
-               m_item_definitions[def.name] = new ItemDefinition(def);
+               
+               if(m_item_definitions.count(def.name) == 0)
+                       m_item_definitions[def.name] = new ItemDefinition(def);
+               else
+                       *(m_item_definitions[def.name]) = def;
 
                // Remove conflicting alias if it exists
                bool alias_removed = (m_aliases.erase(def.name) != 0);