Authors: Michael Jung <mjung@iss.tu-darmstadt.de>, Ge van Geldorp <gvg@reactos.com>
- Prepend Desktop folder path for files/directories stored in the filesystem Desktop folder when GetDisplayNameOf is called with the SHGDN_FORPARSING flags. - Add testcases.
This commit is contained in:
parent
76cc9f2207
commit
640bf7c6e8
|
@ -665,8 +665,19 @@ static HRESULT WINAPI ISF_Desktop_fnGetDisplayNameOf (IShellFolder2 * iface,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* file system folder */
|
int cLen = 0;
|
||||||
_ILSimpleGetText (pidl, strRet->u.cStr, MAX_PATH);
|
|
||||||
|
/* file system folder or file rooted at the desktop */
|
||||||
|
if ((GET_SHGDN_FOR(dwFlags) == SHGDN_FORPARSING) &&
|
||||||
|
(GET_SHGDN_RELATION(dwFlags) != SHGDN_INFOLDER))
|
||||||
|
{
|
||||||
|
WideCharToMultiByte(CP_ACP, 0, This->sPathTarget, -1, strRet->u.cStr, MAX_PATH,
|
||||||
|
NULL, NULL);
|
||||||
|
PathAddBackslashA(strRet->u.cStr);
|
||||||
|
cLen = lstrlenA(strRet->u.cStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
_ILSimpleGetText (pidl, strRet->u.cStr + cLen, MAX_PATH - cLen);
|
||||||
|
|
||||||
if (!_ILIsFolder(pidl))
|
if (!_ILIsFolder(pidl))
|
||||||
SHELL_FS_ProcessDisplayFilename(strRet->u.cStr, dwFlags);
|
SHELL_FS_ProcessDisplayFilename(strRet->u.cStr, dwFlags);
|
||||||
|
|
Loading…
Reference in New Issue