Diff

Differences From Artifact [e4305963b1]:

To Artifact [f24e691919]:


91
92
93
94
95
96
97

98
99
100
101
102
103
104
    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. */

};

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








>







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
    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);






    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 */







>
>
>
>
>







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
	/*
	 * 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);

}

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







>







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