2.1.3 release
bug fixes:
- Fixed TArray member access as binary string instead of TArray type.
- Fixed TArray<TEnumAsByte> member access as TArray instead of binary string type.
- Fixed UUserDefinedEnum access error: GetDisplayNameTextByIndex API may receive Localized Text as Source Text, which will cause a nil value to be returned.
- lua replicated:
- Fixed: values also have their shadow data participate in GC marking to prevent wild pointers.
- Fixed: Changed the Value Type of ClassLuaReplicatedMap class to pointer type to avoid memory invalidation bug caused by Resize.
- Fixed: When Lua replicated data is of Array type, unsynchronized data may occur when the array is expanded and the old data is not updated.
- Fixed the shared serialization copy error when the Lua replication type is set to Array.
- Fixed:Out of range in FLuaNetSerialization::Write with arraySharedSerializetion SharedPropertyInfo.
- Remove the restriction of assigning values to ReadOnly Properties in Lua.
- Fixed: Value misalignment when iterating through UObject and UStruct: when encountering types such as Struct, Array, Map, and Set, the value of the previous member variable will be overwritten. eg.
local SluaTestCase=import('SluaTestCase');
local t=SluaTestCase()
for k, v in pairs(t) do
print("SluaTestCase iter", k, v)
end
print("SluaTestCase weakptr:", t.weakptr) --error: t.weakptr will be LuaArray instead of uobject type.
- Fixed memory leak caused by the assignment error in returnProperty, which resulted in the failure to destruct the return value by returnProperty->DestroyValue_InContainer(locals).
- Fixed When executing the ProcessContextOpcode bytecode and triggering the luaOverrideFunc function, the lack of destruction of the initialized parameters in Stack.Step(Code) leads to memory leaks.
- Standardize the processing of FLantent type parameters: change from name-based determination to more accurate Property type determination.
- Add wrapper struct type check in the checkValue operator.
- Fixed:luaFuncClosure cache with CDO override type Object will incorrectly replace "Instance" override type Object's pure lua function.