shell32: Fail properly when no pidl is passed to SHCreateShellItem.

This commit is contained in:
Vincent Povirk 2009-05-21 11:24:29 -05:00 committed by Alexandre Julliard
parent 026c37e747
commit 1d57a31d92
2 changed files with 6 additions and 2 deletions

View File

@ -276,7 +276,11 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,
TRACE("(%p,%p,%p,%p)\n", pidlParent, psfParent, pidl, ppsi);
if (!pidlParent && !psfParent && pidl)
if (!pidl)
{
return E_INVALIDARG;
}
else if (!pidlParent && !psfParent)
{
new_pidl = ILClone(pidl);
if (!new_pidl)

View File

@ -1783,7 +1783,7 @@ static void test_SHCreateShellItem(void)
pidl_abstestfile = pILCombine(pidl_cwd, pidl_testfile);
ret = pSHCreateShellItem(NULL, NULL, NULL, &shellitem);
todo_wine ok(ret == E_INVALIDARG, "SHCreateShellItem returned %x\n", ret);
ok(ret == E_INVALIDARG, "SHCreateShellItem returned %x\n", ret);
if (0) /* crashes on Windows XP */
{