X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/37508af4ab231b1fde58345f5237f3ee82803829..c1f5f956448a2bd052e71ee1a57f48d9327f2741:/windlg.c diff --git a/windlg.c b/windlg.c index b5d1b57f..d15ebb24 100644 --- a/windlg.c +++ b/windlg.c @@ -116,7 +116,6 @@ static void save_settings (char *section, int do_host) { if (RegCreateKey(HKEY_CURRENT_USER, puttystr, &subkey1)!=ERROR_SUCCESS || RegCreateKey(subkey1, p, &sesskey) != ERROR_SUCCESS) { - free(p); sesskey = NULL; } @@ -153,6 +152,7 @@ static void save_settings (char *section, int do_host) { wpps (sesskey, "Environment", buf); } wpps (sesskey, "UserName", cfg.username); + wppi (sesskey, "NoPTY", cfg.nopty); wppi (sesskey, "RFCEnviron", cfg.rfc_environ); wppi (sesskey, "BackspaceIsDelete", cfg.bksp_is_delete); wppi (sesskey, "RXVTHomeEnd", cfg.rxvt_homeend); @@ -162,6 +162,7 @@ static void save_settings (char *section, int do_host) { wppi (sesskey, "ScrollbackLines", cfg.savelines); wppi (sesskey, "DECOriginMode", cfg.dec_om); wppi (sesskey, "AutoWrapMode", cfg.wrap_mode); + wppi (sesskey, "LFImpliesCR", cfg.lfhascr); wppi (sesskey, "WinNameAlways", cfg.win_name_always); wppi (sesskey, "TermWidth", cfg.width); wppi (sesskey, "TermHeight", cfg.height); @@ -219,7 +220,6 @@ static void load_settings (char *section, int do_host) { if (RegOpenKey(HKEY_CURRENT_USER, puttystr, &subkey1) != ERROR_SUCCESS || RegOpenKey(subkey1, p, &sesskey) != ERROR_SUCCESS) { - free(p); sesskey = NULL; } @@ -264,6 +264,7 @@ static void load_settings (char *section, int do_host) { *q = '\0'; } gpps (sesskey, "UserName", "", cfg.username, sizeof(cfg.username)); + gppi (sesskey, "NoPTY", 0, &cfg.nopty); gppi (sesskey, "RFCEnviron", 0, &cfg.rfc_environ); gppi (sesskey, "BackspaceIsDelete", 1, &cfg.bksp_is_delete); gppi (sesskey, "RXVTHomeEnd", 0, &cfg.rxvt_homeend); @@ -273,6 +274,7 @@ static void load_settings (char *section, int do_host) { gppi (sesskey, "ScrollbackLines", 200, &cfg.savelines); gppi (sesskey, "DECOriginMode", 0, &cfg.dec_om); gppi (sesskey, "AutoWrapMode", 1, &cfg.wrap_mode); + gppi (sesskey, "LFImpliesCR", 0, &cfg.lfhascr); gppi (sesskey, "WinNameAlways", 0, &cfg.win_name_always); gppi (sesskey, "TermWidth", 80, &cfg.width); gppi (sesskey, "TermHeight", 24, &cfg.height); @@ -363,6 +365,7 @@ static int CALLBACK AboutProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: + SetDlgItemText (hwnd, IDA_VERSION, ver); return 1; /* case WM_CTLCOLORDLG: */ /* return (int) GetStockObject (LTGRAY_BRUSH); */ @@ -618,6 +621,7 @@ static int CALLBACK TerminalProc (HWND hwnd, UINT msg, CheckDlgButton (hwnd, IDC2_WRAPMODE, cfg.wrap_mode); CheckDlgButton (hwnd, IDC2_WINNAME, cfg.win_name_always); CheckDlgButton (hwnd, IDC2_DECOM, cfg.dec_om); + CheckDlgButton (hwnd, IDC2_LFHASCR, cfg.lfhascr); SetDlgItemInt (hwnd, IDC2_ROWSEDIT, cfg.height, FALSE); SetDlgItemInt (hwnd, IDC2_COLSEDIT, cfg.width, FALSE); SetDlgItemInt (hwnd, IDC2_SAVEEDIT, cfg.savelines, FALSE); @@ -646,6 +650,11 @@ static int CALLBACK TerminalProc (HWND hwnd, UINT msg, HIWORD(wParam) == BN_DOUBLECLICKED) cfg.dec_om = IsDlgButtonChecked (hwnd, IDC2_DECOM); break; + case IDC2_LFHASCR: + if (HIWORD(wParam) == BN_CLICKED || + HIWORD(wParam) == BN_DOUBLECLICKED) + cfg.lfhascr = IsDlgButtonChecked (hwnd, IDC2_LFHASCR); + break; case IDC2_ROWSEDIT: if (HIWORD(wParam) == EN_CHANGE) MyGetDlgItemInt (hwnd, IDC2_ROWSEDIT, &cfg.height); @@ -824,6 +833,7 @@ static int CALLBACK SshProc (HWND hwnd, UINT msg, case WM_INITDIALOG: SetDlgItemText (hwnd, IDC3_TTEDIT, cfg.termtype); SetDlgItemText (hwnd, IDC3_LOGEDIT, cfg.username); + CheckDlgButton (hwnd, IDC3_NOPTY, cfg.nopty); break; case WM_COMMAND: switch (LOWORD(wParam)) { @@ -837,6 +847,11 @@ static int CALLBACK SshProc (HWND hwnd, UINT msg, GetDlgItemText (hwnd, IDC3_LOGEDIT, cfg.username, sizeof(cfg.username)-1); break; + case IDC3_NOPTY: + if (HIWORD(wParam) == BN_CLICKED || + HIWORD(wParam) == BN_DOUBLECLICKED) + cfg.nopty = IsDlgButtonChecked (hwnd, IDC3_NOPTY); + break; } break; }