shell32: Do not use SHGetMalloc() internally.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Nikolay Sivov 2020-01-27 11:37:17 +03:00 committed by Alexandre Julliard
parent 664d57d0eb
commit 84e06f2289
2 changed files with 11 additions and 20 deletions

View File

@ -405,7 +405,6 @@ static HRESULT WINAPI IPersistFile_fnSaveCompleted(IPersistFile* iface, LPCOLEST
static HRESULT WINAPI IPersistFile_fnGetCurFile(IPersistFile* iface, LPOLESTR *filename)
{
IShellLinkImpl *This = impl_from_IPersistFile(iface);
IMalloc *pMalloc;
TRACE("(%p)->(%p)\n", This, filename);
@ -415,8 +414,7 @@ static HRESULT WINAPI IPersistFile_fnGetCurFile(IPersistFile* iface, LPOLESTR *f
return S_FALSE;
}
SHGetMalloc(&pMalloc);
*filename = IMalloc_Alloc(pMalloc, (strlenW(This->filepath)+1)*sizeof(WCHAR));
*filename = CoTaskMemAlloc((strlenW(This->filepath) + 1) * sizeof(WCHAR));
if (!*filename) return E_OUTOFMEMORY;
strcpyW(*filename, This->filepath);

View File

@ -760,7 +760,6 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
CHAR link_dir[MAX_PATH];
CHAR new_lnk_filepath[MAX_PATH];
CHAR new_lnk_name[MAX_PATH];
IMalloc *ppM;
LPITEMIDLIST pidl;
HWND hwnd = 0; /* FIXME: get real window handle */
INT ret;
@ -815,24 +814,18 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
/* Get path to user's "Recent" directory
*/
if(SUCCEEDED(SHGetMalloc(&ppM))) {
if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT,
&pidl))) {
SHGetPathFromIDListA(pidl, link_dir);
IMalloc_Free(ppM, pidl);
}
else {
/* serious issues */
link_dir[0] = 0;
ERR("serious issues 1\n");
}
IMalloc_Release(ppM);
if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT, &pidl)))
{
SHGetPathFromIDListA(pidl, link_dir);
ILFree(pidl);
}
else {
/* serious issues */
link_dir[0] = 0;
ERR("serious issues 2\n");
else
{
/* serious issues */
link_dir[0] = 0;
ERR("serious issues 1\n");
}
TRACE("Users Recent dir %s\n", link_dir);
/* If no input, then go clear the lists */