This commit is contained in:
2025-12-09 21:49:37 +02:00
parent 6586a98f8d
commit 968de34cae
19 changed files with 920 additions and 190 deletions

View File

@@ -1332,7 +1332,7 @@ bool ManagedBinaryModule::InvokeMethod(void* method, const Variant& instance, Sp
}
// Unbox result
result = MUtils::UnboxVariant(resultObject);
result = MUtils::UnboxVariant(resultObject, true);
#if 0
// Helper method invocations logging
@@ -1366,7 +1366,7 @@ bool ManagedBinaryModule::InvokeMethod(void* method, const Variant& instance, Sp
paramValue.SetString(MUtils::ToString((MString*)param));
break;
case VariantType::Object:
paramValue = MUtils::UnboxVariant((MObject*)param);
paramValue = MUtils::UnboxVariant((MObject*)param, true);
break;
case VariantType::Structure:
{
@@ -1383,7 +1383,7 @@ bool ManagedBinaryModule::InvokeMethod(void* method, const Variant& instance, Sp
{
MType* paramType = mMethod->GetParameterType(paramIdx);
if (MCore::Type::IsReference(paramType) && MCore::Type::GetType(paramType) == MTypes::Object)
paramValue = MUtils::UnboxVariant((MObject*)outParams[paramIdx]);
paramValue = MUtils::UnboxVariant((MObject*)outParams[paramIdx], true);
break;
}
}
@@ -1527,7 +1527,7 @@ bool ManagedBinaryModule::GetFieldValue(void* field, const Variant& instance, Va
const auto mField = (MField*)field;
resultObject = mField->GetValueBoxed(instanceObject);
}
result = MUtils::UnboxVariant(resultObject);
result = MUtils::UnboxVariant(resultObject, true);
return false;
#else
return true;