From 100db552d16164648e269aeb45fd87f7a39d9c11 Mon Sep 17 00:00:00 2001 From: nicm Date: Sat, 18 Apr 2020 17:20:25 +0000 Subject: A resize can realloc so cannot cache the value of the list pointer. --- screen.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'screen.c') diff --git a/screen.c b/screen.c index 5f6a39d3..129cfc2d 100644 --- a/screen.c +++ b/screen.c @@ -227,10 +227,8 @@ screen_resize_cursor(struct screen *s, u_int sx, u_int sy, int reflow, { u_int tcx, tcy; - if (s->write_list != NULL) { + if (s->write_list != NULL) screen_write_free_list(s); - s->write_list = NULL; - } if (cx == NULL) cx = &tcx; @@ -270,6 +268,9 @@ screen_resize_cursor(struct screen *s, u_int sx, u_int sy, int reflow, } log_debug("%s: cursor finished at %u,%u = %u,%u", __func__, s->cx, s->cy, *cx, *cy); + + if (s->write_list != NULL) + screen_write_make_list(s); } /* Resize screen. */ -- cgit v1.2.3