[PATCH 3/7] shell32: Return S_OK only if the flags matches the result exactly
David Hedberg
david.hedberg at gmail.com
Wed Jul 30 13:43:22 CDT 2014
---
dlls/shell32/shellitem.c | 5 +++++
dlls/shell32/tests/shlfolder.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/shell32/shellitem.c b/dlls/shell32/shellitem.c
index 21bf8a5..8236975 100644
--- a/dlls/shell32/shellitem.c
+++ b/dlls/shell32/shellitem.c
@@ -271,6 +271,11 @@ static HRESULT WINAPI ShellItem_GetAttributes(IShellItem2 *iface, SFGAOF sfgaoMa
ret = IShellFolder_GetAttributesOf(parent_folder, 1, (LPCITEMIDLIST*)&child_pidl, psfgaoAttribs);
*psfgaoAttribs &= sfgaoMask;
IShellFolder_Release(parent_folder);
+
+ if(sfgaoMask == *psfgaoAttribs)
+ return S_OK;
+ else
+ return S_FALSE;
}
return ret;
diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c
index fa7219c..4e20251 100644
--- a/dlls/shell32/tests/shlfolder.c
+++ b/dlls/shell32/tests/shlfolder.c
@@ -3792,7 +3792,7 @@ static void test_ShellItemGetAttributes(void)
sfgao = 0xdeadbeef;
hr = IShellItem_GetAttributes(psi_file1, SFGAO_FOLDER, &sfgao);
- todo_wine ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+ ok(hr == S_FALSE, "Got 0x%08x\n", hr);
ok(sfgao == 0, "Got 0x%08x\n", sfgao);
IShellItem_Release(psi_folder1);
--
2.0.1
More information about the wine-patches
mailing list