[PATCH] shell32: Do not use SHGetMalloc() internally.
Nikolay Sivov
nsivov at codeweavers.com
Mon Jan 27 02:37:17 CST 2020
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/shell32/shelllink.c | 4 +---
dlls/shell32/shellord.c | 27 ++++++++++-----------------
2 files changed, 11 insertions(+), 20 deletions(-)
diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c
index 0dfb81c6e7..5b044d4be1 100644
--- a/dlls/shell32/shelllink.c
+++ b/dlls/shell32/shelllink.c
@@ -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);
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index b04a56e783..e1262accdd 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -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 */
--
2.24.1
More information about the wine-devel
mailing list