Skip to content

Commit

Permalink
[SHELL32] Enable to change shortcut icon (#784)
Browse files Browse the repository at this point in the history
CORE-11407
  • Loading branch information
katahiromz authored and HBelusca committed Aug 21, 2018
1 parent b3cfe88 commit 73798d2
Showing 1 changed file with 4 additions and 25 deletions.
29 changes: 4 additions & 25 deletions dll/win32/shell32/CShellLink.cpp
Expand Up @@ -1739,36 +1739,14 @@ HRESULT STDMETHODCALLTYPE CShellLink::GetIconLocation(UINT uFlags, PWSTR pszIcon
*/
uFlags |= GIL_FORSHORTCUT;

if (m_pPidl || m_sPath)
hr = GetIconLocation(pszIconFile, cchMax, piIndex);
if (FAILED(hr))
{
/* first look for an icon using the PIDL (if present) */
if (m_pPidl)
hr = SHELL_PidlGetIconLocationW(m_pPidl, uFlags, pszIconFile, cchMax, piIndex, pwFlags);
else
hr = E_FAIL;

#if 0 // FIXME: Analyse further whether this is needed...
/* if we couldn't find an icon yet, look for it using the file system path */
if (FAILED(hr) && m_sPath)
{
LPITEMIDLIST pidl;
CComPtr<IShellFolder> pdsk;

hr = SHGetDesktopFolder(&pdsk);

/* LPITEMIDLIST pidl = ILCreateFromPathW(sPath); */
hr = pdsk->ParseDisplayName(0, NULL, m_sPath, NULL, &pidl, NULL);
if (SUCCEEDED(hr))
{
hr = SHELL_PidlGetIconLocationW(pidl, uFlags, pszIconFile, cchMax, piIndex, pwFlags);
SHFree(pidl);
}
}
#endif
return hr;
}

return S_OK;
return hr;
}

HRESULT STDMETHODCALLTYPE
Expand Down Expand Up @@ -2967,6 +2945,7 @@ LRESULT CShellLink::OnNotify(HWND hwndDlg, int idFrom, LPNMHDR pnmhdr)

TRACE("This %p m_sLinkPath %S\n", this, m_sLinkPath);
Save(m_sLinkPath, TRUE);
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATHW, m_sLinkPath, NULL);
SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, PSNRET_NOERROR);
return TRUE;
}
Expand Down

0 comments on commit 73798d2

Please sign in to comment.