https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a730e3fce14b76daf7e1ba25698a07d6ea6ed4a5

commit a730e3fce14b76daf7e1ba25698a07d6ea6ed4a5
Author: Mark Jansen <[email protected]>
AuthorDate: Mon Dec 18 23:15:46 2017 +0100

    [ATL] Continue enumeration after a failing COM_INTERFACE_ENTRY_FUNC_BLIND
---
 sdk/lib/atl/atlbase.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sdk/lib/atl/atlbase.h b/sdk/lib/atl/atlbase.h
index 5d6c874bb6..d327aadf4d 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++;
     }

Reply via email to