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