Fix objects creation to ensure managed object ctor is always executed

#3245
This commit is contained in:
Wojtek Figat
2025-03-03 19:12:29 +01:00
parent 3200fc1570
commit e82bb639ed
5 changed files with 30 additions and 17 deletions

View File

@@ -796,6 +796,17 @@ ScriptingObject* ManagedBinaryModule::ManagedObjectSpawn(const ScriptingObjectSp
// Mark as managed type
object->Flags |= ObjectFlags::IsManagedType;
// Initialize managed instance
if (params.Managed)
{
object->SetManagedInstance((MObject*)params.Managed);
}
else
{
// Invoke managed ctor (to match C++ logic)
object->CreateManaged();
}
return object;
}