Index: dll/win32/browseui/comcat.cpp =================================================================== --- dll/win32/browseui/comcat.cpp (revision 72017) +++ dll/win32/browseui/comcat.cpp (working copy) @@ -254,6 +254,10 @@ if (!fDsa) return E_FAIL; + // Don't do anything if we have nothing + if (cRequired == 0 && cImplemented == (ULONG)-1) + return E_FAIL; + if (cRequired > 0 || cImplemented == (ULONG)-1) { FIXME("Implement required categories class enumeration\n"); @@ -260,10 +264,6 @@ return E_NOTIMPL; } - // Don't do anything if we have nothing - if (cRequired == 0 && cImplemented == (ULONG)-1) - return E_FAIL; - // For each implemented category, create a cache and add it to our local DSA for (i = 0; i < cImplemented; i++) {