Return 'My Compuer' PIDL when calling Desktop->ParseDisplayName() with

empty path string.
This commit is contained in:
Martin Fuchs 2004-01-23 04:15:32 +00:00 committed by Alexandre Julliard
parent 0472291e4c
commit 2745769035
1 changed files with 11 additions and 6 deletions

View File

@ -229,12 +229,17 @@ static HRESULT WINAPI ISF_Desktop_fnParseDisplayName (IShellFolder2 * iface,
} else {
/* it's a filesystem path on the desktop. Let a FSFolder parse it */
/* build a complete path to create a simple pidl */
lstrcpyA(szPath, This->sPathTarget);
PathAddBackslashA(szPath);
len = lstrlenA(szPath);
WideCharToMultiByte(CP_ACP, 0, lpszDisplayName, -1, szPath + len, MAX_PATH - len, NULL, NULL);
pidlTemp = _ILCreateFromPathA(szPath);
if (*lpszDisplayName) {
/* build a complete path to create a simple pidl */
lstrcpyA(szPath, This->sPathTarget);
PathAddBackslashA(szPath);
len = lstrlenA(szPath);
WideCharToMultiByte(CP_ACP, 0, lpszDisplayName, -1, szPath + len, MAX_PATH - len, NULL, NULL);
pidlTemp = _ILCreateFromPathA(szPath);
} else {
pidlTemp = _ILCreateMyComputer();
}
szNext = NULL;
}