]> granicus.if.org Git - php/commitdiff
MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params.
authorWez Furlong <wez@php.net>
Fri, 28 Nov 2003 17:14:12 +0000 (17:14 +0000)
committerWez Furlong <wez@php.net>
Fri, 28 Nov 2003 17:14:12 +0000 (17:14 +0000)
ext/com/COM.c

index 3e877453b6043ea2c433ebc0fa9206c7d00e3c37..e0027c0f357f984654e3e482084e07c451fad9b7 100644 (file)
@@ -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) {