wez             Fri Nov 28 12:14:13 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/com    COM.c 
  Log:
  MFH: Fix for Bug #25664; calling ITypeInfo::Invoke with bogus params.
  
  
Index: php-src/ext/com/COM.c
diff -u php-src/ext/com/COM.c:1.90.2.8 php-src/ext/com/COM.c:1.90.2.9
--- php-src/ext/com/COM.c:1.90.2.8      Tue Jul  8 05:10:42 2003
+++ php-src/ext/com/COM.c       Fri Nov 28 12:14:12 2003
@@ -18,7 +18,7 @@
    |         Wez Furlong  <[EMAIL PROTECTED]>                          |
    +----------------------------------------------------------------------+
  */
-/* $Id: COM.c,v 1.90.2.8 2003/07/08 09:10:42 wez Exp $ */
+/* $Id: COM.c,v 1.90.2.9 2003/11/28 17:14:12 wez Exp $ */
 /*
  * This module implements support for COM components that support the IDispatch
  * interface.  Both local (COM) and remote (DCOM) components can be accessed.
@@ -122,24 +122,7 @@
        *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) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to