Revert fd938e8284
This commit is contained in:
@@ -1112,9 +1112,11 @@ namespace FlaxEngine.Interop
|
||||
|
||||
internal static void ToManagedPointer(ref IntPtr managedValue, IntPtr nativePtr, bool byRef)
|
||||
{
|
||||
if (byRef)
|
||||
nativePtr = Unsafe.Read<IntPtr>(nativePtr.ToPointer());
|
||||
managedValue = nativePtr;
|
||||
Type type = typeof(T);
|
||||
byRef |= type.IsByRef; // Is this needed?
|
||||
if (type.IsByRef)
|
||||
Assert.IsTrue(type.GetElementType().IsValueType);
|
||||
managedValue = byRef ? nativePtr : Unsafe.Read<IntPtr>(nativePtr.ToPointer());
|
||||
}
|
||||
|
||||
internal static void ToManagedHandle(ref ManagedHandle managedValue, IntPtr nativePtr, bool byRef)
|
||||
|
||||
@@ -1209,9 +1209,20 @@ void* MUtils::VariantToManagedArgPtr(Variant& value, MType* type, bool& failed)
|
||||
return object;
|
||||
}
|
||||
case MTypes::Ptr:
|
||||
if (value.Type.Type == VariantType::Null)
|
||||
switch (value.Type.Type)
|
||||
{
|
||||
case VariantType::Pointer:
|
||||
return &value.AsPointer;
|
||||
case VariantType::Object:
|
||||
return &value.AsObject;
|
||||
case VariantType::Asset:
|
||||
return &value.AsAsset;
|
||||
case VariantType::Structure:
|
||||
case VariantType::Blob:
|
||||
return &value.AsBlob.Data;
|
||||
default:
|
||||
return nullptr;
|
||||
return (void*)value;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user