Parcourir la source

Removed VectorToArray optimization which caused debug mode crash.

Lasse Öörni il y a 12 ans
Parent
commit
216ec576f3
1 fichiers modifiés avec 3 ajouts et 2 suppressions
  1. 3 2
      Source/Engine/Script/APITemplates.h

+ 3 - 2
Source/Engine/Script/APITemplates.h

@@ -91,8 +91,9 @@ template <class T> CScriptArray* VectorToArray(const PODVector<T>& vector, const
     {
     {
         asIObjectType* type = GetScriptContext()->GetSubsystem<Script>()->GetObjectType(arrayName);
         asIObjectType* type = GetScriptContext()->GetSubsystem<Script>()->GetObjectType(arrayName);
         CScriptArray* arr = new CScriptArray(vector.Size(), type);
         CScriptArray* arr = new CScriptArray(vector.Size(), type);
-        if (vector.Size())
-            memcpy(arr->At(0), &vector[0], vector.Size() * sizeof(T));
+        
+        for (unsigned i = 0; i < arr->GetSize(); ++i)
+            *(static_cast<T*>(arr->At(i))) = vector[i];
         
         
         return arr;
         return arr;
     }
     }