From: Mark Jansen Date: Mon, 18 Dec 2017 22:15:46 +0000 (+0100) Subject: [ATL] Continue enumeration after a failing COM_INTERFACE_ENTRY_FUNC_BLIND X-Git-Tag: 0.4.9-dev~597 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=a730e3fce14b76daf7e1ba25698a07d6ea6ed4a5 [ATL] Continue enumeration after a failing COM_INTERFACE_ENTRY_FUNC_BLIND --- diff --git a/sdk/lib/atl/atlbase.h b/sdk/lib/atl/atlbase.h index 5d6c874bb6e..d327aadf4d8 100644 --- a/sdk/lib/atl/atlbase.h +++ b/sdk/lib/atl/atlbase.h @@ -1545,10 +1545,11 @@ inline HRESULT __stdcall AtlInternalQueryInterface(void *pThis, const _ATL_INTMA else { hResult = pEntries[i].pFunc(pThis, iid, ppvObject, 0); - if (hResult == S_OK || (FAILED(hResult) && pEntries[i].piid != NULL)) + if (hResult == S_OK) return hResult; + if (FAILED(hResult) && pEntries[i].piid != NULL) + break; } - break; } i++; }