ole32: Only fail on missing Implemented Categories key if we actually have categories to check.

This commit is contained in:
Andrew Eikum 2010-04-30 18:03:05 -05:00 committed by Alexandre Julliard
parent 21f75386ec
commit c22d776e74
1 changed files with 12 additions and 10 deletions

View File

@ -232,6 +232,7 @@ static HRESULT COMCAT_IsClassOfCategories(
LPCWSTR string;
/* Check that every given category is implemented by class. */
if (*categories->impl_strings) {
res = RegOpenKeyExW(key, impl_keyname, 0, KEY_READ, &subkey);
if (res != ERROR_SUCCESS) return S_FALSE;
for (string = categories->impl_strings; *string; string += 39) {
@ -244,6 +245,7 @@ static HRESULT COMCAT_IsClassOfCategories(
RegCloseKey(catkey);
}
RegCloseKey(subkey);
}
/* Check that all categories required by class are given. */
res = RegOpenKeyExW(key, req_keyname, 0, KEY_READ, &subkey);