Fix a couple of stupid typos in the session-saving code.
[u/mdw/putty] / config.c
index ebcd607..f41e9ec 100644 (file)
--- a/config.c
+++ b/config.c
@@ -274,7 +274,7 @@ static void sessionsaver_handler(union control *ctrl, void *dlg,
        } else if (ctrl == ssd->savebutton) {
            int isdef = !strcmp(ssd->savedsession, "Default Settings");
            if (!ssd->savedsession[0]) {
-               int i = dlg_listbox_index(ctrl, dlg);
+               int i = dlg_listbox_index(ssd->listbox, dlg);
                if (i < 0) {
                    dlg_beep(dlg);
                    return;
@@ -288,13 +288,13 @@ static void sessionsaver_handler(union control *ctrl, void *dlg,
                    ssd->savedsession[0] = '\0';
                }
            }
-           save_settings(ssd->savedsession, isdef, cfg);
+           save_settings(ssd->savedsession, !isdef, cfg);
            get_sesslist(ssd->sesslist, FALSE);
            get_sesslist(ssd->sesslist, TRUE);
            dlg_refresh(ssd->editbox, dlg);
            dlg_refresh(ssd->listbox, dlg);
        } else if (ctrl == ssd->delbutton) {
-           int i = dlg_listbox_index(ctrl, dlg);
+           int i = dlg_listbox_index(ssd->listbox, dlg);
            if (i <= 0) {
                dlg_beep(dlg);
            } else {
@@ -980,6 +980,10 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
     ctrl_checkbox(s, "Reset scrollback on display activity", 'p',
                  HELPCTX(window_scrollback),
                  dlg_stdcheckbox_handler, I(offsetof(Config,scroll_on_disp)));
+    ctrl_checkbox(s, "Push erased text into scrollback", 'e',
+                 HELPCTX(window_erased),
+                 dlg_stdcheckbox_handler,
+                 I(offsetof(Config,erase_to_scrollback)));
 
     /*
      * The Window/Appearance panel.