summaryrefslogtreecommitdiffstats
path: root/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/screen.c b/screen.c
index d9d1aa09..5f6a39d3 100644
--- a/screen.c
+++ b/screen.c
@@ -85,6 +85,8 @@ screen_init(struct screen *s, u_int sx, u_int sy, u_int hlimit)
s->tabs = NULL;
s->sel = NULL;
+ s->write_list = NULL;
+
screen_reinit(s);
}
@@ -122,6 +124,9 @@ screen_free(struct screen *s)
free(s->title);
free(s->ccolour);
+ if (s->write_list != NULL)
+ screen_write_free_list(s);
+
if (s->saved_grid != NULL)
grid_destroy(s->saved_grid);
grid_destroy(s->grid);
@@ -222,6 +227,11 @@ screen_resize_cursor(struct screen *s, u_int sx, u_int sy, int reflow,
{
u_int tcx, tcy;
+ if (s->write_list != NULL) {
+ screen_write_free_list(s);
+ s->write_list = NULL;
+ }
+
if (cx == NULL)
cx = &tcx;
*cx = s->cx;