diff --git a/config.c b/config.c index 0ad55413..3100503f 100644 --- a/config.c +++ b/config.c @@ -568,6 +568,7 @@ struct sessionsaver_data { static void sessionsaver_data_free(void *ssdv) { struct sessionsaver_data *ssd = (struct sessionsaver_data *)ssdv; + get_sesslist(&ssd->sesslist, FALSE); sfree(ssd->savedsession); sfree(ssd); } diff --git a/unix/gtkcfg.c b/unix/gtkcfg.c index ab8ef973..958a3f66 100644 --- a/unix/gtkcfg.c +++ b/unix/gtkcfg.c @@ -81,6 +81,7 @@ void gtk_setup_config_box(struct controlbox *b, int midsession, void *win) memmove(b->ctrlsets+i, b->ctrlsets+i+1, (b->nctrlsets-i-1) * sizeof(*b->ctrlsets)); b->nctrlsets--; + ctrl_free_set(s2); break; } }