Merge remote-tracking branch 'origin/master' into 1.10

This commit is contained in:
Wojtek Figat
2025-02-24 23:27:56 +01:00
89 changed files with 6155 additions and 1832 deletions

View File

@@ -64,22 +64,22 @@ bool AccessVariant(Variant& instance, const StringAnsiView& member, Variant& val
if (const auto mClass = Scripting::FindClass(typeName))
{
MObject* instanceObject = MUtils::BoxVariant(instance);
bool failed = false;
if (const auto mField = mClass->GetField(member.Get()))
{
bool failed;
if (set)
mField->SetValue(instanceObject, MUtils::VariantToManagedArgPtr(value, mField->GetType(), failed));
else
value = MUtils::UnboxVariant(mField->GetValueBoxed(instanceObject));
return true;
return !failed;
}
else if (const auto mProperty = mClass->GetProperty(member.Get()))
{
if (set)
mProperty->SetValue(instanceObject, MUtils::BoxVariant(value), nullptr);
mProperty->SetValue(instanceObject, MUtils::VariantToManagedArgPtr(value, mProperty->GetType(), failed), nullptr);
else
value = MUtils::UnboxVariant(mProperty->GetValue(instanceObject, nullptr));
return true;
return !failed;
}
}
#endif