From e1823b67c2b9ad1bd3a15b6065312df3e1ff10e0 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 28 Nov 2003 17:14:12 +0000 Subject: [PATCH] MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params. --- ext/com/COM.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) 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) { -- 2.40.0