mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows: Fix regression that caused the system encryption wizard to crash when displaying password field.
This commit is contained in:
@@ -1310,10 +1310,15 @@ static LRESULT CALLBACK NormalPwdFieldProc (HWND hwnd, UINT message, WPARAM wPar
|
|||||||
void ToNormalPwdField (HWND hwndDlg, UINT ctrlId)
|
void ToNormalPwdField (HWND hwndDlg, UINT ctrlId)
|
||||||
{
|
{
|
||||||
HWND hwndCtrl = GetDlgItem (hwndDlg, ctrlId);
|
HWND hwndCtrl = GetDlgItem (hwndDlg, ctrlId);
|
||||||
|
WNDPROC originalwp = (WNDPROC) GetWindowLongPtrW (hwndCtrl, GWLP_USERDATA);
|
||||||
|
|
||||||
SendMessage (hwndCtrl, EM_LIMITTEXT, MAX_PASSWORD, 0);
|
SendMessage (hwndCtrl, EM_LIMITTEXT, MAX_PASSWORD, 0);
|
||||||
|
// only change WNDPROC if not changed already
|
||||||
|
if (!originalwp)
|
||||||
|
{
|
||||||
SetWindowLongPtrW (hwndCtrl, GWLP_USERDATA, (LONG_PTR) GetWindowLongPtrW (hwndCtrl, GWLP_WNDPROC));
|
SetWindowLongPtrW (hwndCtrl, GWLP_USERDATA, (LONG_PTR) GetWindowLongPtrW (hwndCtrl, GWLP_WNDPROC));
|
||||||
SetWindowLongPtrW (hwndCtrl, GWLP_WNDPROC, (LONG_PTR) NormalPwdFieldProc);
|
SetWindowLongPtrW (hwndCtrl, GWLP_WNDPROC, (LONG_PTR) NormalPwdFieldProc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4301,6 +4301,9 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||||||
hPasswordInputField = GetDlgItem (hwndDlg, IDC_PASSWORD);
|
hPasswordInputField = GetDlgItem (hwndDlg, IDC_PASSWORD);
|
||||||
hVerifyPasswordInputField = GetDlgItem (hwndDlg, IDC_VERIFY);
|
hVerifyPasswordInputField = GetDlgItem (hwndDlg, IDC_VERIFY);
|
||||||
|
|
||||||
|
ToNormalPwdField (hwndDlg, IDC_PASSWORD);
|
||||||
|
ToNormalPwdField (hwndDlg, IDC_VERIFY);
|
||||||
|
|
||||||
if (SysEncInEffect ())
|
if (SysEncInEffect ())
|
||||||
{
|
{
|
||||||
ToBootPwdField (hwndDlg, IDC_PASSWORD);
|
ToBootPwdField (hwndDlg, IDC_PASSWORD);
|
||||||
@@ -4345,9 +4348,6 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
|||||||
StringCbCopyW (str, sizeof(str), GetString ("PASSWORD_HELP"));
|
StringCbCopyW (str, sizeof(str), GetString ("PASSWORD_HELP"));
|
||||||
}
|
}
|
||||||
|
|
||||||
ToNormalPwdField (hwndDlg, IDC_PASSWORD);
|
|
||||||
ToNormalPwdField (hwndDlg, IDC_VERIFY);
|
|
||||||
|
|
||||||
SetPassword (hwndDlg, IDC_PASSWORD, szRawPassword);
|
SetPassword (hwndDlg, IDC_PASSWORD, szRawPassword);
|
||||||
SetPassword (hwndDlg, IDC_VERIFY, szVerify);
|
SetPassword (hwndDlg, IDC_VERIFY, szVerify);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user