Diff

Differences From Artifact [a9e6aacad9]:

To Artifact [b2b43cee31]:


71
72
73
74
75
76
77

78
79
80
81
82
83
84
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85







+







    int pasteout_data_len, pasteout_data_ctext_len, pasteout_data_utf8_len;
    int font_width, font_height;
    int width, height;
    int ignore_sbar;
    int mouseptr_visible;
    int busy_status;
    guint term_paste_idle_id;
    guint term_exit_idle_id;
    int alt_keycode;
    int alt_digits;
    char wintitle[sizeof(((Config *)0)->wintitle)];
    char icontitle[sizeof(((Config *)0)->wintitle)];
    int master_fd, master_func_id;
    void *ldisc;
    Backend *back;
1216
1217
1218
1219
1220
1221
1222
1223

1224
1225

1226
1227
1228
1229
1230
1231
1232
1217
1218
1219
1220
1221
1222
1223

1224
1225

1226
1227
1228
1229
1230
1231
1232
1233







-
+

-
+







     * If our child process has exited but not closed, terminate on
     * any keypress.
     */
    if (inst->exited)
	exit(0);
}

void notify_remote_exit(void *frontend)
static gint idle_exit_func(gpointer data)
{
    struct gui_data *inst = (struct gui_data *)frontend;
    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))
1240
1241
1242
1243
1244
1245
1246










1247
1248
1249
1250
1251
1252
1253
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264







+
+
+
+
+
+
+
+
+
+







	    inst->backhandle = NULL;
	    inst->back = NULL;
            term_provide_resize_fn(inst->term, NULL, NULL);
	    update_specials_menu(inst);
	}
	gtk_widget_show(inst->restartitem);
    }

    gtk_idle_remove(inst->term_exit_idle_id);
    return TRUE;
}

void notify_remote_exit(void *frontend)
{
    struct gui_data *inst = (struct gui_data *)frontend;

    inst->term_exit_idle_id = gtk_idle_add(idle_exit_func, inst);
}

static gint timer_trigger(gpointer data)
{
    long now = GPOINTER_TO_INT(data);
    long next;
    long ticks;