summaryrefslogtreecommitdiffstats
path: root/screen.c
diff options
context:
space:
mode:
authornicm <nicm>2020-04-18 17:20:25 +0000
committernicm <nicm>2020-04-18 17:20:25 +0000
commit100db552d16164648e269aeb45fd87f7a39d9c11 (patch)
tree1717d7989b3c65798232aa2094eb812643965172 /screen.c
parentdeffef6f1378db4986941dd9d83ba61f11142cd8 (diff)
A resize can realloc so cannot cache the value of the list pointer.
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c7
1 files changed, 4 insertions, 3 deletions
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. */