Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Change System.Object to ClassInterface.None #21137

Merged
merged 2 commits into from
Nov 21, 2018
Merged

Conversation

jkotas
Copy link
Member

@jkotas jkotas commented Nov 21, 2018

Prevents .NET Framework legacy interfaces from leaking out.

Fixes https://github.com/dotnet/corefx/issues/33638

@jkotas
Copy link
Member Author

jkotas commented Nov 21, 2018

This will make the QI for the desktop interfaces that are not implemented in CoreCLR to fail right away without throwing exceptions.

Prevents .NET Framework legacy interfaces from leaking out.

Fixes https://github.com/dotnet/corefx/issues/33638
@ericstj
Copy link
Member

ericstj commented Nov 21, 2018

This should avoid the FCE by failing earlier in the native side. This will mean that the tracing of errors from Uia will be missing the provider info. You may want to reach out to the owning Windows team to let them know that they might want to update their error tracing to preserve this (for example, by adding their own interface method to return the type name as a string).

@jkotas jkotas merged commit 2079632 into dotnet:master Nov 21, 2018
@jkotas
Copy link
Member Author

jkotas commented Nov 21, 2018

Opened issue against wpf.

@jkotas jkotas deleted the ClassInterface branch November 22, 2018 07:47
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
* Change System.Object to ClassInterface.None

Prevents .NET Framework legacy interfaces from leaking out.

Fixes https://github.com/dotnet/corefx/issues/33638

* Use AutoDispatch for System.Object


Commit migrated from dotnet/coreclr@2079632
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
4 participants