Pārlūkot izejas kodu

Bugfix: Fixing a crash when populating managed arrays with null pointers
- Caused by new scripting system changes

BearishSun 7 gadi atpakaļ
vecāks
revīzija
d99dd9b464

+ 7 - 0
Source/BansheeMono/BsMonoArray.cpp

@@ -36,6 +36,13 @@ namespace bs
 			mono_array_setref(array, idx, monoString);
 		}
 
+		template<>
+		void ScriptArray_set<nullptr_t>(MonoArray* array, UINT32 idx, const nullptr_t& value)
+		{
+			void** item = (void**)ScriptArray::_getArrayAddr(array, sizeof(void*), idx);
+			*item = nullptr;
+		}
+
 		template String ScriptArray_get(MonoArray* array, UINT32 idx);
 		template WString ScriptArray_get(MonoArray* array, UINT32 idx);
 

+ 3 - 0
Source/BansheeMono/BsMonoArray.h

@@ -151,6 +151,9 @@ namespace bs
 		template<>
 		BS_MONO_EXPORT void ScriptArray_set<WString>(MonoArray* array, UINT32 idx, const WString& value);
 
+		template<>
+		BS_MONO_EXPORT void ScriptArray_set<nullptr_t>(MonoArray* array, UINT32 idx, const nullptr_t& value);
+
 		template<class T>
 		inline ScriptArray ScriptArray_create(UINT32 size)
 		{