shell32: Add a test to show the IShellLink_GetIDList returns a copy of the IDList, remove an incorrect comment and fix a memory leak.
Found by Valgrind.
This commit is contained in:
parent
36b654e695
commit
06ad4ce1c8
|
@ -207,6 +207,7 @@ static void test_get_set(void)
|
||||||
}
|
}
|
||||||
if (ret)
|
if (ret)
|
||||||
ok(lstrcmpi(buffer,str)==0, "GetIDList returned '%s'\n", buffer);
|
ok(lstrcmpi(buffer,str)==0, "GetIDList returned '%s'\n", buffer);
|
||||||
|
pILFree(tmp_pidl);
|
||||||
}
|
}
|
||||||
|
|
||||||
pidl=path_to_pidl(mypath);
|
pidl=path_to_pidl(mypath);
|
||||||
|
@ -214,6 +215,8 @@ static void test_get_set(void)
|
||||||
|
|
||||||
if (pidl)
|
if (pidl)
|
||||||
{
|
{
|
||||||
|
LPITEMIDLIST second_pidl;
|
||||||
|
|
||||||
r = IShellLinkA_SetIDList(sl, pidl);
|
r = IShellLinkA_SetIDList(sl, pidl);
|
||||||
ok(SUCCEEDED(r), "SetIDList failed (0x%08x)\n", r);
|
ok(SUCCEEDED(r), "SetIDList failed (0x%08x)\n", r);
|
||||||
|
|
||||||
|
@ -223,7 +226,14 @@ static void test_get_set(void)
|
||||||
ok(tmp_pidl && pILIsEqual(pidl, tmp_pidl),
|
ok(tmp_pidl && pILIsEqual(pidl, tmp_pidl),
|
||||||
"GetIDList returned an incorrect pidl\n");
|
"GetIDList returned an incorrect pidl\n");
|
||||||
|
|
||||||
/* tmp_pidl is owned by IShellLink so we don't free it */
|
r = IShellLinkA_GetIDList(sl, &second_pidl);
|
||||||
|
ok(SUCCEEDED(r), "GetIDList failed (0x%08x)\n", r);
|
||||||
|
ok(second_pidl && pILIsEqual(pidl, second_pidl),
|
||||||
|
"GetIDList returned an incorrect pidl\n");
|
||||||
|
ok(second_pidl != tmp_pidl, "pidls are the same\n");
|
||||||
|
|
||||||
|
pILFree(second_pidl);
|
||||||
|
pILFree(tmp_pidl);
|
||||||
pILFree(pidl);
|
pILFree(pidl);
|
||||||
|
|
||||||
strcpy(buffer,"garbage");
|
strcpy(buffer,"garbage");
|
||||||
|
|
Loading…
Reference in New Issue