diff options
Diffstat (limited to 'src/vm/mlinfo.cpp')
-rw-r--r-- | src/vm/mlinfo.cpp | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/vm/mlinfo.cpp b/src/vm/mlinfo.cpp index edbf759322..f861c43cf8 100644 --- a/src/vm/mlinfo.cpp +++ b/src/vm/mlinfo.cpp @@ -1875,13 +1875,9 @@ MarshalInfo::MarshalInfo(Module* pModule, break; case ELEMENT_TYPE_I: -#ifdef FEATURE_COMINTEROP - if (IsWinRTScenario()) - { - m_resID = IDS_EE_BADMARSHAL_WINRT_ILLEGAL_TYPE; - IfFailGoto(E_FAIL, lFail); - } -#endif // FEATURE_COMINTEROP + // Technically the "native int" and "native uint" types aren't supported in the WinRT scenario, + // but we need to not block ourselves from using them to enable accurate managed->native marshalling of + // projected types such as NotifyCollectionChangedEventArgs and NotifyPropertyChangedEventArgs. if (!(nativeType == NATIVE_TYPE_INT || nativeType == NATIVE_TYPE_UINT || nativeType == NATIVE_TYPE_DEFAULT)) { @@ -1892,13 +1888,6 @@ MarshalInfo::MarshalInfo(Module* pModule, break; case ELEMENT_TYPE_U: -#ifdef FEATURE_COMINTEROP - if (IsWinRTScenario()) - { - m_resID = IDS_EE_BADMARSHAL_WINRT_ILLEGAL_TYPE; - IfFailGoto(E_FAIL, lFail); - } -#endif // FEATURE_COMINTEROP if (!(nativeType == NATIVE_TYPE_UINT || nativeType == NATIVE_TYPE_INT || nativeType == NATIVE_TYPE_DEFAULT)) { |