Fixing thread safety possible issue when reading an array of enums and fixing related bug when the target enum array property wouldn't be cleared before reading data
Publish PHP Package / docker (push) Successful in 6s
Details
Publish PHP Package / docker (push) Successful in 6s
Details
This commit is contained in:
parent
5b4adb4a29
commit
0678b6bac2
|
@ -450,9 +450,11 @@ function var_sync($fname, \mtgType $type, $buf, array $tokens, $opts)
|
|||
{
|
||||
if($type->getValue() instanceof \mtgMetaEnum)
|
||||
{
|
||||
$str .= "MetaIO.tmp_enums_list.Clear(); if(!{$buf}.is_read) { foreach(var _enum_tmp in {$fname}) MetaIO.tmp_enums_list.Add((int)_enum_tmp); }\n";
|
||||
$str .= "MetaIO.Sync({$buf}, MetaIO.tmp_enums_list, \"{$key_name}\", {$opts});\n";
|
||||
$str .= "if({$buf}.is_read) foreach(var _int_tmp in MetaIO.tmp_enums_list) { {$fname}.Add(({$type->getValue()->getName()}) _int_tmp); }\n";
|
||||
$str .= "{\n";
|
||||
$str .= "var tmp_enums_list = new List<int>(); if(!{$buf}.is_read) { foreach(var _enum_tmp in {$fname}) tmp_enums_list.Add((int)_enum_tmp); }\n";
|
||||
$str .= "MetaIO.Sync({$buf}, tmp_enums_list, \"{$key_name}\", {$opts});\n";
|
||||
$str .= "if({$buf}.is_read) { {$fname}.Clear(); foreach(var _int_tmp in MetaIO.tmp_enums_list) {$fname}.Add(({$type->getValue()->getName()}) _int_tmp); }\n";
|
||||
$str .= "}\n";
|
||||
}
|
||||
else
|
||||
$str .= "MetaIO.Sync({$buf}, {$fname}, \"{$key_name}\", {$opts});\n";
|
||||
|
|
Loading…
Reference in New Issue