if (inst->ldisc) { ldisc_free(inst->ldisc); inst->ldisc = NULL; } if (inst->back) { inst->back->free(inst->backhandle); inst->backhandle = NULL; inst->back = NULL; update_specials_menu(inst); } gtk_widget_show(inst->restartitem);
gint timer_func(gpointer data){    struct gui_data *inst = (struct gui_data *)data;    int exitcode;    if (!inst->exited &&        (exitcode = inst->back->exitcode(inst->backhandle)) >= 0) {	inst->exited = TRUE;	if (inst->cfg.close_on_exit == FORCE_ON ||	    (inst->cfg.close_on_exit == AUTO && exitcode == 0))	    exit(0);		       /* just go. */    }    term_update(inst->term);    term_blink(inst->term, 0);    return TRUE;}