Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/3.0] Opt COM methods out of the new Windows instance-method handling #24012

Conversation

Projects
None yet
5 participants
@jkoritzinsky
Copy link
Member

jkoritzinsky commented Apr 15, 2019

Some of our users (such as WPF), use a struct to wrap their HRESULT return types on COM members when they use PreserveSig. When we updated CoreCLR to correctly handle the Windows calling convention, we broke this behavior. Additonally, since #23816 didn't make it into release/3.0, this PR also fixes bugs related to enum returns on COM methods, which WPF also found.

Remove calls to tests that were verifying that COM follows the new behavior. (The tests are removed in the PR to master)

The release/3.0 side of #23974

@jkoritzinsky jkoritzinsky added this to the 3.0 milestone Apr 15, 2019

@AaronRobinsonMSFT

This comment has been minimized.

Copy link
Member

AaronRobinsonMSFT commented Apr 15, 2019

@jkoritzinsky jkoritzinsky requested review from jkotas and davidwrighton Apr 15, 2019

@jeffschwMSFT
Copy link
Member

jeffschwMSFT left a comment

lgtm

@jkotas

jkotas approved these changes Apr 15, 2019

@davidwrighton
Copy link
Member

davidwrighton left a comment

lgtm, possibly in master we should have acomment or documentation about this behavior difference between COM and thiscall, but we don't need such a change in preview 4.

@jkoritzinsky

This comment has been minimized.

Copy link
Member Author

jkoritzinsky commented Apr 15, 2019

WPF has confirmed that this fixes the 3 issues they reported. They'd like to do a full test run and sample validation run as well just to make sure everything is good.
cc: @miguep

@AaronRobinsonMSFT AaronRobinsonMSFT merged commit 9562c55 into dotnet:release/3.0 Apr 16, 2019

1 check passed

license/cla All CLA requirements met.
Details

@jkoritzinsky jkoritzinsky deleted the jkoritzinsky:com-legacy-windows-instance-method-abi-on-release-3.0 branch Apr 16, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.