From: Wez Furlong Date: Fri, 28 Nov 2003 17:14:12 +0000 (+0000) Subject: MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params. X-Git-Tag: php-4.3.5RC1~163 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e1823b67c2b9ad1bd3a15b6065312df3e1ff10e0;p=php MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params. --- diff --git a/ext/com/COM.c b/ext/com/COM.c index 3e877453b6..e0027c0f35 100644 --- a/ext/com/COM.c +++ b/ext/com/COM.c @@ -122,24 +122,7 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS *ErrString = NULL; /* @todo use DispInvoke here ? */ if (C_ISREFD(obj)) { - if (C_HASTLIB(obj)) { - hr = C_TYPEINFO_VT(obj)->Invoke(C_TYPEINFO(obj), C_DISPATCH(obj), dispIdMember, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr); - if (FAILED(hr) && (hr != DISP_E_EXCEPTION)) { - hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr); - if (SUCCEEDED(hr)) { - /* - * ITypLib doesn't work - * Release ITypeLib and fall back to IDispatch - */ - - C_TYPEINFO_VT(obj)->Release(C_TYPEINFO(obj)); - C_HASTLIB(obj) = FALSE; - C_TYPEINFO(obj) = NULL; - } - } - } else { - hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr); - } + hr = C_DISPATCH_VT(obj)->Invoke(C_DISPATCH(obj), dispIdMember, &IID_NULL, LOCALE_SYSTEM_DEFAULT, wFlags, pDispParams, pVarResult, &ExceptInfo, &ArgErr); if (FAILED(hr)) { switch (hr) {