From 10caca062ad7e6a7fa8d83235611a889988cb1e4 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Tue, 24 Jun 2014 15:06:24 +0000 Subject: Fixed error when browsing for a directory and using a non-ascii starting directory. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10207 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Native_File_Chooser_WIN32.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Fl_Native_File_Chooser_WIN32.cxx b/src/Fl_Native_File_Chooser_WIN32.cxx index 3d5dfae77..8ca7a91bf 100644 --- a/src/Fl_Native_File_Chooser_WIN32.cxx +++ b/src/Fl_Native_File_Chooser_WIN32.cxx @@ -441,7 +441,7 @@ int Fl_Native_File_Chooser::showfile() { int CALLBACK Fl_Native_File_Chooser::Dir_CB(HWND win, UINT msg, LPARAM param, LPARAM data) { switch (msg) { case BFFM_INITIALIZED: - if (data) ::SendMessage(win, BFFM_SETSELECTION, TRUE, data); + if (data) ::SendMessage(win, BFFM_SETSELECTIONW, TRUE, data); break; case BFFM_SELCHANGED: TCHAR path[FNFC_MAX_PATH]; @@ -518,10 +518,11 @@ int Fl_Native_File_Chooser::showdir() { _binf.pszDisplayName = displayname; // PRESET DIR - char presetname[FNFC_MAX_PATH]; + WCHAR presetname[FNFC_MAX_PATH]; if ( _directory ) { - strcpy(presetname, _directory); // Unix2Win(presetname); + wcsncpy(presetname, utf8towchar(_directory), FNFC_MAX_PATH); + presetname[FNFC_MAX_PATH-1] = 0; _binf.lParam = (LPARAM)presetname; } else _binf.lParam = 0; -- cgit v1.2.3