Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/shell32/tests/shelllink.c | 12 +++------- dlls/shell32/tests/shellpath.c | 23 +++--------------- dlls/shell32/tests/shlfolder.c | 43 +++++++++++++++------------------- 3 files changed, 25 insertions(+), 53 deletions(-)
diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c index db839200d5..f760990a0a 100644 --- a/dlls/shell32/tests/shelllink.c +++ b/dlls/shell32/tests/shelllink.c @@ -492,13 +492,10 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int save_fails) lok(str != NULL || broken(str == NULL), /* shell32 < 5.0 */ "Didn't expect NULL\n"); - if (str != NULL) + if (str) { - IMalloc *pmalloc; - lok(!wcscmp(path, str), "Expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(str)); - SHGetMalloc(&pmalloc); - IMalloc_Free(pmalloc, str); + CoTaskMemFree(str); } else win_skip("GetCurFile fails on shell32 < 5.0\n"); @@ -550,11 +547,8 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo) "Didn't expect NULL\n"); if (str != NULL) { - IMalloc *pmalloc; - lok(!wcscmp(path, str), "Expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(str)); - SHGetMalloc(&pmalloc); - IMalloc_Free(pmalloc, str); + CoTaskMemFree(str); } else win_skip("GetCurFile fails on shell32 < 5.0\n"); diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index 8161330b1e..9ec7226312 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -90,7 +90,6 @@ static BOOL (WINAPI *pSHGetSpecialFolderPathA)(HWND, LPSTR, int, BOOL); static HRESULT (WINAPI *pSHGetSpecialFolderLocation)(HWND, int, LPITEMIDLIST *); static LPITEMIDLIST (WINAPI *pILFindLastID)(LPCITEMIDLIST); static int (WINAPI *pSHFileOperationA)(LPSHFILEOPSTRUCTA); -static HRESULT (WINAPI *pSHGetMalloc)(LPMALLOC *); static UINT (WINAPI *pGetSystemWow64DirectoryA)(LPSTR,UINT); static HRESULT (WINAPI *pSHGetKnownFolderPath)(REFKNOWNFOLDERID, DWORD, HANDLE, PWSTR *); static HRESULT (WINAPI *pSHSetKnownFolderPath)(REFKNOWNFOLDERID, DWORD, HANDLE, PWSTR); @@ -100,7 +99,6 @@ static HRESULT (WINAPI *pSHGetKnownFolderIDList)(REFKNOWNFOLDERID, DWORD, HANDLE static BOOL (WINAPI *pPathResolve)(PWSTR, PZPCWSTR, UINT);
static DLLVERSIONINFO shellVersion = { 0 }; -static LPMALLOC pMalloc; static const BYTE guidType[] = { PT_GUID }; static const BYTE controlPanelType[] = { PT_SHELLEXT, PT_GUID, PT_CPL }; static const BYTE folderType[] = { PT_FOLDER, PT_FOLDERW }; @@ -202,20 +200,10 @@ static void loadShell32(void) if (!pILFindLastID) pILFindLastID = (void *)GetProcAddress(hShell32, (LPCSTR)16); GET_PROC(SHFileOperationA) - GET_PROC(SHGetMalloc) GET_PROC(PathYetAnotherMakeUniqueName) GET_PROC(SHGetKnownFolderIDList) GET_PROC(PathResolve);
- ok(pSHGetMalloc != NULL, "shell32 is missing SHGetMalloc\n"); - if (pSHGetMalloc) - { - HRESULT hr = pSHGetMalloc(&pMalloc); - - ok(hr == S_OK, "SHGetMalloc failed: 0x%08x\n", hr); - ok(pMalloc != NULL, "SHGetMalloc returned a NULL IMalloc\n"); - } - if (pDllGetVersion) { shellVersion.cbSize = sizeof(shellVersion); @@ -1319,13 +1307,11 @@ static void test_parameters(void) pidl = NULL; hr = SHGetFolderLocation(NULL, 0xeeee, NULL, 0, &pidl); ok(hr == E_INVALIDARG, "got 0x%08x, expected E_INVALIDARG\n", hr); - if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
/* check a bogus user token: */ pidl = NULL; hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, (HANDLE)2, 0, &pidl); ok(hr == E_FAIL || hr == E_HANDLE, "got 0x%08x, expected E_FAIL or E_HANDLE\n", hr); - if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
/* a NULL pidl pointer crashes, so don't test it */
@@ -1387,7 +1373,7 @@ static BYTE testSHGetFolderLocation(int folder) getFolderName(folder)); if (pidlLast) ret = pidlLast->mkid.abID[0]; - IMalloc_Free(pMalloc, pidl); + ILFree(pidl); } }
@@ -1416,7 +1402,7 @@ static BYTE testSHGetSpecialFolderLocation(int folder) "%s: ILFindLastID failed\n", getFolderName(folder)); if (pidlLast) ret = pidlLast->mkid.abID[0]; - IMalloc_Free(pMalloc, pidl); + ILFree(pidl); } } return ret; @@ -1546,7 +1532,7 @@ static void matchGUID(int folder, const GUID *guid, const GUID *guid_alt) "%s: got GUID %s, expected %s or %s\n", getFolderName(folder), wine_dbgstr_guid(shellGuid), wine_dbgstr_guid(guid), wine_dbgstr_guid(guid_alt)); } - IMalloc_Free(pMalloc, pidl); + ILFree(pidl); } }
@@ -1702,7 +1688,6 @@ static void doChild(const char *arg) hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, NULL, 0, &pidl); ok(hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "SHGetFolderLocation returned 0x%08x\n", hr); - if (hr == S_OK && pidl) IMalloc_Free(pMalloc, pidl);
ok(!pSHGetSpecialFolderPathA(NULL, path, CSIDL_FAVORITES, FALSE), "SHGetSpecialFolderPath succeeded, expected failure\n"); @@ -1712,8 +1697,6 @@ static void doChild(const char *arg) ok(hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "SHGetFolderLocation returned 0x%08x\n", hr);
- if (hr == S_OK && pidl) IMalloc_Free(pMalloc, pidl); - /* now test success: */ hr = pSHGetFolderPathA(NULL, CSIDL_FAVORITES | CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, path); diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c index ebeaf4e20e..3918a4387c 100644 --- a/dlls/shell32/tests/shlfolder.c +++ b/dlls/shell32/tests/shlfolder.c @@ -44,8 +44,6 @@ DEFINE_GUID(IID_IParentAndItem, 0xB3A4B685, 0xB685, 0x4805, 0x99,0xD9, 0x5D,0xEA,0xD2,0x87,0x32,0x36); DEFINE_GUID(CLSID_ShellDocObjView, 0xe7e4bc40, 0xe76a, 0x11ce, 0xa9,0xbb, 0x00,0xaa,0x00,0x4a,0xe8,0x37);
-static IMalloc *ppM; - static HRESULT (WINAPI *pSHCreateItemFromIDList)(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv); static HRESULT (WINAPI *pSHCreateItemFromParsingName)(PCWSTR,IBindCtx*,REFIID,void**); static HRESULT (WINAPI *pSHCreateItemFromRelativeName)(IShellItem*,PCWSTR,IBindCtx*,REFIID,void**); @@ -149,9 +147,6 @@ static void init_function_pointers(void)
hmod = GetModuleHandleA("kernel32.dll"); pIsWow64Process = (void*)GetProcAddress(hmod, "IsWow64Process"); - - hr = SHGetMalloc(&ppM); - ok(hr == S_OK, "SHGetMalloc failed %08x\n", hr); }
/* Based on PathAddBackslashW from dlls/shlwapi/path.c */ @@ -405,7 +400,7 @@ static void test_EnumObjects(IShellFolder *iFolder) }
for (i=0;i<5;i++) - IMalloc_Free(ppM, idlArr[i]); + ILFree(idlArr[i]); }
static void test_BindToObject(void) @@ -451,7 +446,7 @@ static void test_BindToObject(void) hr = IShellFolder_BindToObject(psfDesktop, pidlMyComputer, NULL, &IID_IShellFolder, (LPVOID*)&psfMyComputer); ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08x\n", hr); IShellFolder_Release(psfDesktop); - IMalloc_Free(ppM, pidlMyComputer); + ILFree(pidlMyComputer); if (hr != S_OK) return;
hr = IShellFolder_BindToObject(psfMyComputer, pidlEmpty, NULL, &IID_IShellFolder, (LPVOID*)&psfChild); @@ -478,7 +473,7 @@ static void test_BindToObject(void) hr = IShellFolder_BindToObject(psfMyComputer, pidlSystemDir, NULL, &IID_IShellFolder, (LPVOID*)&psfSystemDir); ok (hr == S_OK, "MyComputer failed to bind to a FileSystem ShellFolder! hr = %08x\n", hr); IShellFolder_Release(psfMyComputer); - IMalloc_Free(ppM, pidlSystemDir); + ILFree(pidlSystemDir); if (hr != S_OK) return;
hr = IShellFolder_BindToObject(psfSystemDir, pidlEmpty, NULL, &IID_IShellFolder, (LPVOID*)&psfChild); @@ -860,7 +855,7 @@ static void test_CallForAttributes(void) if (lResult != ERROR_SUCCESS) { if (lResult == ERROR_ACCESS_DENIED) skip("Not enough rights to open the registry key\n"); - IMalloc_Free(ppM, pidlMyDocuments); + ILFree(pidlMyDocuments); IShellFolder_Release(psfDesktop); return; } @@ -871,7 +866,7 @@ static void test_CallForAttributes(void) ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08x\n", lResult); if (lResult != ERROR_SUCCESS) { RegCloseKey(hKey); - IMalloc_Free(ppM, pidlMyDocuments); + ILFree(pidlMyDocuments); IShellFolder_Release(psfDesktop); return; } @@ -883,7 +878,7 @@ static void test_CallForAttributes(void) ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08x\n", lResult); if (lResult != ERROR_SUCCESS) { RegCloseKey(hKey); - IMalloc_Free(ppM, pidlMyDocuments); + ILFree(pidlMyDocuments); IShellFolder_Release(psfDesktop); return; } @@ -916,7 +911,7 @@ static void test_CallForAttributes(void) RegSetValueExW(hKey, wszCallForAttributes, 0, REG_DWORD, (LPBYTE)&dwOrigCallForAttributes, sizeof(DWORD)); RegCloseKey(hKey); - IMalloc_Free(ppM, pidlMyDocuments); + ILFree(pidlMyDocuments); IShellFolder_Release(psfDesktop); }
@@ -978,7 +973,7 @@ static void test_GetAttributesOf(void) hr = IShellFolder_BindToObject(psfDesktop, pidlMyComputer, NULL, &IID_IShellFolder, (LPVOID*)&psfMyComputer); ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08x\n", hr); IShellFolder_Release(psfDesktop); - IMalloc_Free(ppM, pidlMyComputer); + ILFree(pidlMyComputer); if (hr != S_OK) return;
hr = IShellFolder_GetAttributesOf(psfMyComputer, 1, &pidlEmpty, &dwFlags); @@ -1017,7 +1012,7 @@ static void test_GetAttributesOf(void) hr = IShellFolder_BindToObject(IDesktopFolder, newPIDL, NULL, (REFIID)&IID_IShellFolder, (LPVOID *)&testIShellFolder); ok(hr == S_OK, "BindToObject failed %08x\n", hr);
- IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
/* get relative PIDL */ hr = IShellFolder_ParseDisplayName(testIShellFolder, NULL, NULL, cTestDirW, NULL, &newPIDL, 0); @@ -1030,7 +1025,7 @@ static void test_GetAttributesOf(void) ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for relative PIDL: %08x\n", dwFlags);
/* free memory */ - IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
/* append testdirectory name to path */ if (cCurrDirA[len-1] == '\') @@ -1048,7 +1043,7 @@ static void test_GetAttributesOf(void) ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for absolute PIDL: %08x\n", dwFlags);
/* free memory */ - IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
IShellFolder_Release(testIShellFolder);
@@ -1120,7 +1115,7 @@ static void test_SHGetPathFromIDList(void) return; }
- IMalloc_Free(ppM, pidlMyComputer); + ILFree(pidlMyComputer);
result = SHGetSpecialFolderPathW(NULL, wszFileName, CSIDL_DESKTOPDIRECTORY, FALSE); ok(result, "SHGetSpecialFolderPathW failed! Last error: %u\n", GetLastError()); @@ -1143,7 +1138,7 @@ static void test_SHGetPathFromIDList(void) if (hr != S_OK) { IShellFolder_Release(psfDesktop); DeleteFileW(wszFileName); - IMalloc_Free(ppM, pidlTestFile); + ILFree(pidlTestFile); return; }
@@ -1154,7 +1149,7 @@ static void test_SHGetPathFromIDList(void) IShellFolder_Release(psfDesktop); DeleteFileW(wszFileName); if (hr != S_OK) { - IMalloc_Free(ppM, pidlTestFile); + ILFree(pidlTestFile); return; } StrRetToBufW(&strret, pidlTestFile, wszPath, MAX_PATH); @@ -1191,7 +1186,7 @@ static void test_SHGetPathFromIDList(void) else win_skip("SHGetPathFromIDListEx not available\n");
- IMalloc_Free(ppM, pidlTestFile); + ILFree(pidlTestFile);
/* Test if we can get the path from the start menu "program files" PIDL. */ hr = SHGetSpecialFolderLocation(NULL, CSIDL_PROGRAM_FILES, &pidlPrograms); @@ -1199,7 +1194,7 @@ static void test_SHGetPathFromIDList(void)
SetLastError(0xdeadbeef); result = SHGetPathFromIDListW(pidlPrograms, wszPath); - IMalloc_Free(ppM, pidlPrograms); + ILFree(pidlPrograms); ok(result, "SHGetPathFromIDListW failed\n"); }
@@ -1243,7 +1238,7 @@ static void test_EnumObjects_and_CompareIDs(void)
Cleanup();
- IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
IShellFolder_Release(IDesktopFolder); } @@ -1948,7 +1943,7 @@ static void test_LocalizedNames(void) hr = IShellFolder_BindToObject(IDesktopFolder, newPIDL, NULL, (REFIID)&IID_IShellFolder, (LPVOID *)&testIShellFolder); ok(hr == S_OK, "BindToObject failed %08x\n", hr);
- IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
/* windows reads the display name from the resource */ hr = IShellFolder_ParseDisplayName(testIShellFolder, NULL, NULL, foldernameW, NULL, &newPIDL, 0); @@ -1982,7 +1977,7 @@ static void test_LocalizedNames(void) IShellFolder_Release(IDesktopFolder); IShellFolder_Release(testIShellFolder);
- IMalloc_Free(ppM, newPIDL); + ILFree(newPIDL);
cleanup: DeleteFileA(".\testfolder\desktop.ini");