Return 'My Compuer' PIDL when calling Desktop->ParseDisplayName() with
empty path string.

diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c
index 664cd5d..f8015ee 100644
--- a/dlls/shell32/shfldr_desktop.c
+++ b/dlls/shell32/shfldr_desktop.c
@@ -229,12 +229,17 @@
     } 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;
     }