cvs: php4(PHP_4_3) /ext/com COM.c
| From: | Harald Radi | Date: | Thu, 27 Mar 2003 19:56:09 +0000 |
| Subject: | cvs: php4(PHP_4_3) /ext/com COM.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-19813@lists.php.net to get a copy of this message | ||
phanto Thu Mar 27 14:56:09 2003 EDT
Modified files: (Branch: PHP_4_3)
/php4/ext/com COM.c
Log:
fix #22899
invoke is called twice
Index: php4/ext/com/COM.c
diff -u php4/ext/com/COM.c:1.90.2.5 php4/ext/com/COM.c:1.90.2.6
--- php4/ext/com/COM.c:1.90.2.5 Mon Feb 24 13:30:19 2003
+++ php4/ext/com/COM.c Thu Mar 27 14:56:09 2003
@@ -18,7 +18,7 @@
| Wez Furlong <wez@thebrainroom.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: COM.c,v 1.90.2.5 2003/02/24 18:30:19 phanto Exp $ */
+/* $Id: COM.c,v 1.90.2.6 2003/03/27 19:56:09 phanto Exp $ */
/*
* This module implements support for COM components that support the IDispatch
* interface. Both local (COM) and remote (DCOM) components can be accessed.
@@ -124,7 +124,7 @@
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)) {
+ 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)) {
/*