From ff65578160b671a7b2c28799f500aa2d5dee7034 Mon Sep 17 00:00:00 2001 From: Harald Radi Date: Thu, 27 Mar 2003 19:56:09 +0000 Subject: fix #22899 invoke is called twice --- ext/com/COM.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ext/com/COM.c') 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)) { /* -- cgit v1.2.1