Nikolay Sivov : comdlg32: Expand initial directory path for file open dialog.
Alexandre Julliard
julliard at winehq.org
Tue Feb 21 16:56:13 CST 2017
Module: wine
Branch: master
Commit: aef84332a2dc3a05a3e1b433158b2e91abc48ed0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=aef84332a2dc3a05a3e1b433158b2e91abc48ed0
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Feb 21 15:35:15 2017 +0300
comdlg32: Expand initial directory path for file open dialog.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/comdlg32/filedlg.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/comdlg32/filedlg.c b/dlls/comdlg32/filedlg.c
index 8dda4f7..d76fad9 100644
--- a/dlls/comdlg32/filedlg.c
+++ b/dlls/comdlg32/filedlg.c
@@ -504,15 +504,17 @@ static BOOL GetFileDialog95W(LPOPENFILENAMEW ofn,UINT iDlgType)
else
fodInfos.filename = NULL;
+ fodInfos.initdir = NULL;
if(ofn->lpstrInitialDir)
{
/* fodInfos.initdir = strdupW(ofn->lpstrInitialDir); */
- DWORD len = lstrlenW(ofn->lpstrInitialDir)+1;
- fodInfos.initdir = MemAlloc(len*sizeof(WCHAR));
- memcpy(fodInfos.initdir,ofn->lpstrInitialDir,len*sizeof(WCHAR));
+ DWORD len = ExpandEnvironmentStringsW(ofn->lpstrInitialDir, NULL, 0);
+ if (len)
+ {
+ fodInfos.initdir = MemAlloc(len * sizeof(WCHAR));
+ ExpandEnvironmentStringsW(ofn->lpstrInitialDir, fodInfos.initdir, len);
+ }
}
- else
- fodInfos.initdir = NULL;
/* save current directory */
if (ofn->Flags & OFN_NOCHANGEDIR)
More information about the wine-cvs
mailing list