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 373d18c6..68cfcf8c 100644
--- a/screen.c
+++ b/screen.c
@@ -84,6 +84,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);
}
@@ -121,6 +123,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);
@@ -221,6 +226,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;