From c55e08b31e8100a593b4f81784489a820de807a1 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Wed, 9 Sep 2015 01:16:27 +0200 Subject: Windows: When no language selected by user, explicitly use English as default one unless VeraCrypt is in portable mode. --- src/Format/Tcformat.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/Format') diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c index 2ebc70ca..d520a635 100644 --- a/src/Format/Tcformat.c +++ b/src/Format/Tcformat.c @@ -743,8 +743,21 @@ static void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, if (bOnlyCheckModified) { char langid[6] = {0}; - StringCbCopyA (langid, sizeof(langid), GetPreferredLangId ()); - ConfigReadCompareString ("Language", "", langid, sizeof (langid), TRUE, pbSettingsModified); + if (!IsNonInstallMode ()) + { + ConfigReadString ("Language", "", langid, sizeof (langid)); + // when installed, if no preferred language set by user, English is selected default + if (langid [0] == 0) + StringCbCopyA (langid, sizeof(langid), "en"); + + if (pbSettingsModified && strcmp (langid, GetPreferredLangId ())) + *pbSettingsModified = TRUE; + } + else + { + StringCbCopyA (langid, sizeof(langid), GetPreferredLangId ()); + ConfigReadCompareString ("Language", "", langid, sizeof (langid), TRUE, pbSettingsModified); + } } if (hwndDlg != NULL) @@ -785,8 +798,7 @@ static void SaveSettings (HWND hwndDlg) ConfigWriteInt ("SaveVolumeHistory", bHistory); ConfigWriteString ("SecurityTokenLibrary", SecurityTokenLibraryPath[0] ? SecurityTokenLibraryPath : ""); - if (GetPreferredLangId () != NULL) - ConfigWriteString ("Language", GetPreferredLangId ()); + ConfigWriteString ("Language", GetPreferredLangId ()); ConfigWriteEnd (hwndDlg); } -- cgit v1.2.3