shell32 patch 18

Martin Fuchs martin-fuchs at gmx.net
Wed Jan 21 14:58:25 CST 2004


Changelog:
- return 'My Compuer' PIDL when calling Desktop->ParseDisplayName() with empty path string


Index: shfldr_desktop.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shfldr_desktop.c,v
retrieving revision 1.16
diff -u -p -d -r1.16 shfldr_desktop.c
--- shfldr_desktop.c	20 Jan 2004 01:37:24 -0000	1.16
+++ shfldr_desktop.c	21 Jan 2004 20:56:26 -0000
@@ -229,12 +227,17 @@ static HRESULT WINAPI ISF_Desktop_fnPars
     } 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;
     }
 





More information about the wine-patches mailing list