cvs: php-src(PHP_4_3) /ext/com COM.c
| From: | Wez Furlong | Date: | Fri, 28 Nov 2003 17:14:13 +0000 |
| Subject: | cvs: php-src(PHP_4_3) /ext/com COM.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-24696@lists.php.net to get a copy of this message | ||
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 <wez@thebrainroom.com> |
+----------------------------------------------------------------------+
*/
-/* $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) {