mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 21:02:19 +00:00
parent
b3cfe88eda
commit
73798d2e71
1 changed files with 4 additions and 25 deletions
|
@ -1739,36 +1739,14 @@ HRESULT STDMETHODCALLTYPE CShellLink::GetIconLocation(UINT uFlags, PWSTR pszIcon
|
||||||
*/
|
*/
|
||||||
uFlags |= GIL_FORSHORTCUT;
|
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)
|
if (m_pPidl)
|
||||||
hr = SHELL_PidlGetIconLocationW(m_pPidl, uFlags, pszIconFile, cchMax, piIndex, pwFlags);
|
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
|
HRESULT STDMETHODCALLTYPE
|
||||||
|
@ -2967,6 +2945,7 @@ LRESULT CShellLink::OnNotify(HWND hwndDlg, int idFrom, LPNMHDR pnmhdr)
|
||||||
|
|
||||||
TRACE("This %p m_sLinkPath %S\n", this, m_sLinkPath);
|
TRACE("This %p m_sLinkPath %S\n", this, m_sLinkPath);
|
||||||
Save(m_sLinkPath, TRUE);
|
Save(m_sLinkPath, TRUE);
|
||||||
|
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATHW, m_sLinkPath, NULL);
|
||||||
SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, PSNRET_NOERROR);
|
SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, PSNRET_NOERROR);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue