[ATL] Continue enumeration after a failing COM_INTERFACE_ENTRY_FUNC_BLIND
authorMark Jansen <mark.jansen@reactos.org>
Mon, 18 Dec 2017 22:15:46 +0000 (23:15 +0100)
committerMark Jansen <mark.jansen@reactos.org>
Thu, 21 Dec 2017 20:37:54 +0000 (21:37 +0100)
sdk/lib/atl/atlbase.h

index 5d6c874..d327aad 100644 (file)
@@ -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++;
     }