Explorar o código

Register variant map xml name as significant at load time

Josh Engebretson %!s(int64=9) %!d(string=hai) anos
pai
achega
adb3fa5b42
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      Source/Atomic/Resource/XMLElement.cpp

+ 8 - 1
Source/Atomic/Resource/XMLElement.cpp

@@ -884,7 +884,14 @@ VariantMap XMLElement::GetVariantMap() const
     {
         // If this is a manually edited map, user can not be expected to calculate hashes manually. Also accept "name" attribute
         if (variantElem.HasAttribute("name"))
-            ret[StringHash(variantElem.GetAttribute("name"))] = variantElem.GetVariant();
+        {   
+            // ATOMIC BEGIN
+            const String name = variantElem.GetAttribute("name");
+            // register the name in the variant map, as significant for reverse lookup from hash
+            StringHash::RegisterSignificantString(name);            
+            ret[StringHash(name)] = variantElem.GetVariant();
+            // ATOMIC END
+        }
         else if (variantElem.HasAttribute("hash"))
             ret[StringHash(variantElem.GetUInt("hash"))] = variantElem.GetVariant();