From 474bf4fc4b222dbeee89133bb2f1c48b06ef050e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Zalewski?= Date: Fri, 9 Feb 2007 16:53:24 +0100 Subject: [PATCH] shell32: Make sure BrowseForFolder doesn't return NULL for the Desktop folder as this means a cancel. --- dlls/shell32/brsfolder.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c index 666e34b2bc..27c20970c3 100644 --- a/dlls/shell32/brsfolder.c +++ b/dlls/shell32/brsfolder.c @@ -524,7 +524,10 @@ static BOOL BrsFolder_OnCommand( browse_info *info, UINT id ) switch (id) { case IDOK: - info->pidlRet = ILClone(info->pidlRet); /* The original pidl will be free'd. */ + /* The original pidl is owned by the treeview and will be free'd. */ + info->pidlRet = ILClone(info->pidlRet); + if (info->pidlRet == NULL) /* A null pidl would mean a cancel */ + info->pidlRet = _ILCreateDesktop(); pdump( info->pidlRet ); if (lpBrowseInfo->pszDisplayName) SHGetPathFromIDListW( info->pidlRet, lpBrowseInfo->pszDisplayName );