X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/6e67448b9a59f0a50f4fb784da3faf04d63f4994..7eb76ebc9a88b14553713f8d214bb8d04f10dbc2:/unix/gtkwin.c?ds=sidebyside diff --git a/unix/gtkwin.c b/unix/gtkwin.c index cb582164..76f78f69 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -1392,8 +1392,13 @@ void palette_set(void *frontend, int n, int r, int g, int b) if (n > NALLCOLOURS) return; real_palette_set(inst, n, r, g, b); - if (n == 258) + if (n == 258) { + /* Default Background changed. Ensure space between text area and + * window border is redrawn */ set_window_background(inst); + draw_backing_rect(inst); + gtk_widget_queue_draw(inst->area); + } } void palette_reset(void *frontend) @@ -1445,7 +1450,13 @@ void palette_reset(void *frontend) inst->cfg.colours[i][1], inst->cfg.colours[i][2]); } + /* Since Default Background may have changed, ensure that space + * between text area and window border is refreshed. */ set_window_background(inst); + if (inst->area) { + draw_backing_rect(inst); + gtk_widget_queue_draw(inst->area); + } } /* Ensure that all the cut buffers exist - according to the ICCCM, we must @@ -3375,6 +3386,8 @@ static void start_backend(struct gui_data *inst) set_icon(inst, title); sfree(title); } + sfree(realhost); + inst->back->provide_logctx(inst->backhandle, inst->logctx); term_provide_resize_fn(inst->term, inst->back->size, inst->backhandle);