summaryrefslogtreecommitdiff
path: root/ext/com/COM.c
diff options
context:
space:
mode:
authorHarald Radi <phanto@php.net>2003-03-27 19:56:09 +0000
committerHarald Radi <phanto@php.net>2003-03-27 19:56:09 +0000
commitff65578160b671a7b2c28799f500aa2d5dee7034 (patch)
tree5af2c324e4bcc1800a8fb4e397d33f1593597a7b /ext/com/COM.c
parentce2edd18c7c18743ce71ec8c8a7dcd671f753750 (diff)
downloadphp-git-ff65578160b671a7b2c28799f500aa2d5dee7034.tar.gz
fix #22899
invoke is called twice
Diffstat (limited to 'ext/com/COM.c')
-rw-r--r--ext/com/COM.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/com/COM.c b/ext/com/COM.c
index 4d41bc7ed9..cdec124de4 100644
--- a/ext/com/COM.c
+++ b/ext/com/COM.c
@@ -124,7 +124,7 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS
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)) {
/*