Diff

Differences From Artifact [e4305963b1]:

To Artifact [f24e691919]:


91
92
93
94
95
96
97

98
99
100
101
102
103
104
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105







+







    int exited;
    struct unicode_data ucsdata;
    Config cfg;
    void *eventlogstuff;
    char *progname, **gtkargvstart;
    int ngtkargs;
    guint32 input_event_time; /* Timestamp of the most recent input event. */
    int reconfiguring;
};

struct draw_ctx {
    GdkGC *gc;
    struct gui_data *inst;
};

2874
2875
2876
2877
2878
2879
2880





2881
2882
2883
2884
2885
2886
2887
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893







+
+
+
+
+







    struct gui_data *inst = (struct gui_data *)data;
    char *title = dupcat(appname, " Reconfiguration", NULL);
    Config cfg2, oldcfg;
    int i, need_size;

    assert(lenof(ww) == NCFGCOLOURS);

    if (inst->reconfiguring)
      return;
    else
      inst->reconfiguring = TRUE;

    cfg2 = inst->cfg;                  /* structure copy */

    if (do_config_box(title, &cfg2, 1,
		      inst->back?inst->back->cfg_info(inst->backhandle):0)) {

        oldcfg = inst->cfg;            /* structure copy */
        inst->cfg = cfg2;              /* structure copy */
2991
2992
2993
2994
2995
2996
2997

2998
2999
3000
3001
3002
3003
3004
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011







+







	/*
	 * We do an explicit full redraw here to ensure the window
	 * border has been redrawn as well as the text area.
	 */
	gtk_widget_queue_draw(inst->area);
    }
    sfree(title);
    inst->reconfiguring = FALSE;
}

void fork_and_exec_self(struct gui_data *inst, int fd_to_close, ...)
{
    /*
     * Re-execing ourself is not an exact science under Unix. I do
     * the best I can by using /proc/self/exe if available and by