Stop plink's key verification locking up on input
[sgt/putty] / windlg.c
index 57a444b..4ef37d9 100644 (file)
--- a/windlg.c
+++ b/windlg.c
@@ -1056,7 +1056,7 @@ static void init_dlg_ctrls(HWND hwnd) {
                      cfg.bksp_is_delete ? IDC_DEL127 : IDC_DEL008);
     CheckRadioButton (hwnd, IDC_HOMETILDE, IDC_HOMERXVT,
                      cfg.rxvt_homeend ? IDC_HOMERXVT : IDC_HOMETILDE);
-    CheckRadioButton (hwnd, IDC_FUNCTILDE, IDC_FUNCXTERM,
+    CheckRadioButton (hwnd, IDC_FUNCTILDE, IDC_FUNCVT400,
                       cfg.funky_type == 0 ? IDC_FUNCTILDE :
                       cfg.funky_type == 1 ? IDC_FUNCLINUX :
                       cfg.funky_type == 2 ? IDC_FUNCXTERM :
@@ -1743,14 +1743,16 @@ static int GenericMainDlgProc (HWND hwnd, UINT msg,
            {
                int n = SendDlgItemMessage (hwnd, IDC_SESSLIST,
                                            LB_GETCURSEL, 0, 0);
+                int isdef;
                if (n == LB_ERR) {
                    MessageBeep(0);
                    break;
                }
-               load_settings (sessions[n],
-                              !!strcmp(sessions[n], "Default Settings"),
-                               &cfg);
+                isdef = !strcmp(sessions[n], "Default Settings");
+               load_settings (sessions[n], !isdef, &cfg);
                init_dlg_ctrls(hwnd);
+                if (!isdef)
+                    SetDlgItemText(hwnd, IDC_SESSEDIT, sessions[n]);
            }
            if (LOWORD(wParam) == IDC_SESSLIST) {
                /*