diff options
author | Aleksey Kliger (λgeek) <alklig@microsoft.com> | 2021-03-12 03:32:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-12 03:32:47 +0300 |
commit | 8a9d5f8fadf21546e4207d7fb943786ceec675d4 (patch) | |
tree | 85fcee8c5ca49e9df85a3daa2e3c23553cdaa2ab /packaging/MacSDK/xsp.py | |
parent | 2b05e5c35f63a96087328313d63f82220605d3b8 (diff) |
[marshal] Fix VARIANT marshaling in structs (#20917)
* [tests] Add BStr and VARIANT in structs interop tests
* [marshal] Fix reverse P/Invoke marshaling VARIANT fields
Partial revert of https://github.com/mono/mono/pull/8732
If a managed struct is declared as
public struct StructWithVariant
{
[MarshalAs (UnmanagedType.Struct)]
public object data;
};
Then the `data` field should be marshalled as a VARIANT.
The fix checks that the field's type is `object` and uses VARIANT for
marshaling, otherwise it continues as in mono/mono#8732 and uses
MONO_MARSHAL_CONV_OBJECT_STRUCT
Diffstat (limited to 'packaging/MacSDK/xsp.py')
0 files changed, 0 insertions, 0 deletions