Mercurial > dwindows
diff win/dw.c @ 1704:873304f581be
Fix Unicode issues with the directory browser on Windows.
Fix a hang with the directory browser on Mac when passing an empty string.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 05 May 2012 06:48:40 +0000 |
parents | 31f16da1052a |
children | 8228b3cf8f37 |
line wrap: on
line diff
--- a/win/dw.c Thu May 03 18:44:08 2012 +0000 +++ b/win/dw.c Sat May 05 06:48:40 2012 +0000 @@ -11490,7 +11490,7 @@ bi.hwndOwner = NULL; bi.pszDisplayName = 0; bi.pidlRoot = 0; - bi.lpszTitle = title; + bi.lpszTitle = UTF8toWide(title); bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT; bi.lpfn = NULL; /*BrowseCallbackProc*/ @@ -11499,20 +11499,20 @@ { if (SHGetPathFromIDList(pidl,szDir)) { - strncpy(filenamebuf,szDir,1000); + _tcsncpy(filenamebuf,szDir,1000); } /* In C++: pMalloc->Free(pidl); pMalloc->Release(); */ pMalloc->lpVtbl->Free(pMalloc,pidl); pMalloc->lpVtbl->Release(pMalloc); - return _strdup(filenamebuf); + return _strdup(WideToUTF8(filenamebuf)); } } #else if ( XBrowseForFolder( NULL, - (LPCTSTR)defpath, + (LPCTSTR)dpath, -1, - (LPCTSTR)title, + (LPCTSTR)UTF8toWide(title), (LPTSTR)filenamebuf, 1000, FALSE ) )