diff --git a/Source/Engine/Scripting/Internal/ManagedDictionary.h b/Source/Engine/Scripting/Internal/ManagedDictionary.h index f2e638115..c42eb1d27 100644 --- a/Source/Engine/Scripting/Internal/ManagedDictionary.h +++ b/Source/Engine/Scripting/Internal/ManagedDictionary.h @@ -53,7 +53,9 @@ struct FLAXENGINE_API ManagedDictionary Dictionary result; const ManagedDictionary wrapper(managed); MArray* managedKeys = wrapper.GetKeys(); - int32 length = managedKeys ? MCore::Array::GetLength(managedKeys) : 0; + if (managedKeys == nullptr) + return result; + int32 length = MCore::Array::GetLength(managedKeys); Array keys; keys.Resize(length); result.EnsureCapacity(length); diff --git a/Source/Engine/Scripting/Scripting.cs b/Source/Engine/Scripting/Scripting.cs index f4a01cadb..204401867 100644 --- a/Source/Engine/Scripting/Scripting.cs +++ b/Source/Engine/Scripting/Scripting.cs @@ -205,6 +205,8 @@ namespace FlaxEngine internal static object[] GetDictionaryKeys(IDictionary dictionary) { + if (dictionary == null) + return null; var keys = dictionary.Keys; var result = new object[keys.Count]; keys.CopyTo(result, 0);