Windows: fix language selected in the installer not used by "Create Volume" wizard until reboot or exiting VeraCrypt main process.

This commit is contained in:
Mounir IDRASSI 2018-08-22 23:59:51 +02:00
parent 9376bc8f51
commit f5a765e860
No known key found for this signature in database
GPG Key ID: DD0C382D5FCFB8FC
3 changed files with 11 additions and 2 deletions

View File

@ -2877,6 +2877,9 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine)
char langId[6];
InitCommonControlsPtr InitCommonControlsFn = NULL;
wchar_t modPath[MAX_PATH];
#ifndef SETUP
BOOL bLanguageSetInSetup = FALSE;
#endif
GetModuleFileNameW (NULL, modPath, ARRAYSIZE (modPath));
@ -3046,6 +3049,7 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine)
if (0 < WideCharToMultiByte (CP_ACP, 0, uiLang, -1, langId, sizeof (langId), NULL, NULL))
{
SetPreferredLangId (langId);
bLanguageSetInSetup = TRUE;
}
}
@ -3073,6 +3077,11 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine)
LoadLanguageFile ();
#ifndef SETUP
// Save language to XML configuration file if it has been selected in the setup
// so that other VeraCrypt programs will pick it up
if (bLanguageSetInSetup)
SaveSettings (NULL);
// UAC elevation moniker cannot be used in portable mode.
// A new instance of the application must be created with elevated privileges.
if (IsNonInstallMode () && !IsAdmin () && IsUacSupported ())

View File

@ -821,7 +821,7 @@ static void LoadSettings (HWND hwndDlg)
LoadSettingsAndCheckModified (hwndDlg, FALSE, NULL, NULL);
}
static void SaveSettings (HWND hwndDlg)
void SaveSettings (HWND hwndDlg)
{
WaitCursor ();

View File

@ -32,7 +32,7 @@ enum timer_ids
static void localcleanup ( void );
static void LoadSettings ( HWND hwndDlg );
static void SaveSettings ( HWND hwndDlg );
void SaveSettings ( HWND hwndDlg );
static void EndMainDlg ( HWND hwndDlg );
void ComboSelChangeEA ( HWND hwndDlg );
static void VerifySizeAndUpdate ( HWND hwndDlg , BOOL bUpdate );