explorerframe: Clear pointer when nothing is selected
André Hentschel
nerv at dawncrow.de
Wed Apr 3 17:10:37 CDT 2013
---
dlls/explorerframe/nstc.c | 3 +++
dlls/explorerframe/tests/nstc.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/explorerframe/nstc.c b/dlls/explorerframe/nstc.c
index d5e78e7..a881cc4 100644
--- a/dlls/explorerframe/nstc.c
+++ b/dlls/explorerframe/nstc.c
@@ -1240,7 +1240,10 @@ static HRESULT WINAPI NSTC2_fnGetSelectedItems(INameSpaceTreeControl2* iface,
psiselected = get_selected_shellitem(This);
if(!psiselected)
+ {
+ *psiaItems = NULL;
return E_FAIL;
+ }
hr = SHCreateShellItemArrayFromShellItem(psiselected, &IID_IShellItemArray,
(void**)psiaItems);
diff --git a/dlls/explorerframe/tests/nstc.c b/dlls/explorerframe/tests/nstc.c
index 6287078..ab6a0ce 100644
--- a/dlls/explorerframe/tests/nstc.c
+++ b/dlls/explorerframe/tests/nstc.c
@@ -1366,7 +1366,7 @@ static void test_basics(void)
psia = (void*)0xdeadbeef;
hr = INameSpaceTreeControl_GetSelectedItems(pnstc, &psia);
ok(hr == E_FAIL, "Got 0x%08x\n", hr);
- ok(psia == (void*)0xdeadbeef, "Got %p\n", psia);
+ ok(!psia || broken(psia == (void*)0xdeadbeef /* before Win8 */), "Got %p\n", psia);
hr = INameSpaceTreeControl_AppendRoot(pnstc, psitestdir2, SHCONTF_FOLDERS, 0, NULL);
ok(hr == S_OK, "Got (0x%08x)\n", hr);
--
1.7.10.4
More information about the wine-patches
mailing list