Commit 1f5b3b9e authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

shell32: Ignore KF_FLAG_NOT_PARENT_RELATIVE in SHGetKnownFolderPath().

parent 2e88169d
......@@ -3529,11 +3529,24 @@ HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE t
return HRESULT_FROM_WIN32( ERROR_FILE_NOT_FOUND );
if (flags & ~(KF_FLAG_CREATE|KF_FLAG_SIMPLE_IDLIST|KF_FLAG_DONT_UNEXPAND|
KF_FLAG_DONT_VERIFY|KF_FLAG_NO_ALIAS|KF_FLAG_INIT|KF_FLAG_DEFAULT_PATH))
KF_FLAG_DONT_VERIFY|KF_FLAG_NO_ALIAS|KF_FLAG_INIT|KF_FLAG_DEFAULT_PATH|KF_FLAG_NOT_PARENT_RELATIVE))
{
FIXME("flags 0x%08x not supported\n", flags);
return E_INVALIDARG;
}
if ((flags & (KF_FLAG_DEFAULT_PATH | KF_FLAG_NOT_PARENT_RELATIVE)) == KF_FLAG_NOT_PARENT_RELATIVE)
{
WARN("Invalid flags mask %#x.\n", flags);
return E_INVALIDARG;
}
if (flags & KF_FLAG_NOT_PARENT_RELATIVE)
{
FIXME("Ignoring KF_FLAG_NOT_PARENT_RELATIVE.\n");
flags &= ~KF_FLAG_NOT_PARENT_RELATIVE;
}
folder |= flags & CSIDL_FLAG_MASK;
shgfp_flags = flags & KF_FLAG_DEFAULT_PATH ? SHGFP_TYPE_DEFAULT : SHGFP_TYPE_CURRENT;
......
......@@ -1910,6 +1910,19 @@ if (0) { /* crashes */
ok(!lstrcmpiW(path, path2), "expected equal paths: %s, %s\n", wine_dbgstr_w(path), wine_dbgstr_w(path2));
CoTaskMemFree(path2);
hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_DEFAULT_PATH, NULL, &path2);
ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
ok(path2 != NULL, "expected path != NULL\n");
CoTaskMemFree(path2);
hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_NOT_PARENT_RELATIVE, NULL, &path2);
ok(hr == E_INVALIDARG, "expected S_OK, got 0x%08x\n", hr);
hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_DEFAULT_PATH | KF_FLAG_NOT_PARENT_RELATIVE, NULL, &path2);
ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
ok(path2 != NULL, "expected path != NULL\n");
CoTaskMemFree(path2);
CoTaskMemFree(path);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment