From a9c889055b7219342127afb29fd047241dfb3f66 Mon Sep 17 00:00:00 2001 From: Gerard Patel <gerard.patel@asi.fr> Date: Sat, 10 Mar 2001 19:13:59 +0000 Subject: [PATCH] Handle empty strings and invalid values in lpstrInitialDir for 32 bits open file dialogs. --- dlls/commdlg/filedlg95.c | 5 +++-- dlls/shell32/shlfolder.c | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/commdlg/filedlg95.c b/dlls/commdlg/filedlg95.c index 26c79150adb..e84147ab1fb 100644 --- a/dlls/commdlg/filedlg95.c +++ b/dlls/commdlg/filedlg95.c @@ -2693,7 +2693,7 @@ LPITEMIDLIST GetParentPidl(LPITEMIDLIST pidl) * GetPidlFromName * * returns the pidl of the file name relative to folder - * NULL if an error occured + * NULL if an error occurred */ LPITEMIDLIST GetPidlFromName(IShellFolder *lpsf,LPCSTR lpcstrFileName) { @@ -2704,7 +2704,8 @@ LPITEMIDLIST GetPidlFromName(IShellFolder *lpsf,LPCSTR lpcstrFileName) TRACE("sf=%p file=%s\n", lpsf, lpcstrFileName); if(!lpcstrFileName) return NULL; - + if(!*lpcstrFileName) return NULL; + MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,lpcstrFileName,-1,(LPWSTR)lpwstrDirName,MAX_PATH); if(!lpsf) diff --git a/dlls/shell32/shlfolder.c b/dlls/shell32/shlfolder.c index 49130c5e50f..31fc1c7acd8 100644 --- a/dlls/shell32/shlfolder.c +++ b/dlls/shell32/shlfolder.c @@ -682,7 +682,10 @@ static HRESULT WINAPI IShellFolder_fnParseDisplayName( } } - *ppidl = pidlTemp; + if (!hr) + *ppidl = pidlTemp; + else + *ppidl = NULL; TRACE("(%p)->(-- pidl=%p ret=0x%08lx)\n", This, ppidl? *ppidl:0, hr); -- GitLab