Imported Upstream version 4.2.0.179

Former-commit-id: 4610231f55806d2a05ed69e5ff3faa7336cc1479
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent aa7da660d6
commit c042cd0c52
7507 changed files with 90259 additions and 657307 deletions

View File

@@ -168,7 +168,7 @@ namespace System
vt = (short)VarEnum.VT_BSTR;
bstrVal = Marshal.StringToBSTR(((BStrWrapper)obj).WrappedObject);
}
#if !FULL_AOT_RUNTIME
#if FEATURE_COMINTEROP
else if (t == typeof (UnknownWrapper))
{
vt = (short)VarEnum.VT_UNKNOWN;
@@ -182,7 +182,7 @@ namespace System
#endif
else
{
#if FULL_AOT_RUNTIME
#if !FEATURE_COMINTEROP
throw new NotImplementedException(string.Format("Variant couldn't handle object of type {0}", obj.GetType()));
#else
try
@@ -301,7 +301,7 @@ namespace System
case VarEnum.VT_BSTR:
obj = Marshal.PtrToStringBSTR(bstrVal);
break;
#if !FULL_AOT_RUNTIME
#if FEATURE_COMINTEROP
case VarEnum.VT_UNKNOWN:
case VarEnum.VT_DISPATCH:
if (pdispVal != IntPtr.Zero)
@@ -324,10 +324,12 @@ namespace System
if ((VarEnum)vt == VarEnum.VT_BSTR) {
Marshal.FreeBSTR (bstrVal);
}
#if !DISABLE_COM
else if ((VarEnum)vt == VarEnum.VT_DISPATCH || (VarEnum)vt == VarEnum.VT_UNKNOWN) {
if (pdispVal != IntPtr.Zero)
Marshal.Release (pdispVal);
}
#endif
}
}