diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-10-01 14:15:48 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2007-10-01 14:15:48 +0000 |
commit | 9d563c340b16dfe0d4b3cd789ffbeda0d4d1e589 (patch) | |
tree | 2a49ad8dd00abd39c51d125a3666d5f656705d77 | |
parent | 532757fd1c1886703a626a17f19c8c649a9e3d97 (diff) | |
download | rtmux-9d563c340b16dfe0d4b3cd789ffbeda0d4d1e589.tar.gz rtmux-9d563c340b16dfe0d4b3cd789ffbeda0d4d1e589.tar.bz2 rtmux-9d563c340b16dfe0d4b3cd789ffbeda0d4d1e589.zip |
Destroy screens properly.
-rw-r--r-- | screen.c | 12 | ||||
-rw-r--r-- | tmux.h | 3 | ||||
-rw-r--r-- | window.c | 4 |
3 files changed, 16 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $Id: screen.c,v 1.17 2007-09-29 18:57:15 nicm Exp $ */ +/* $Id: screen.c,v 1.18 2007-10-01 14:15:48 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -157,6 +157,16 @@ screen_resize(struct screen *s, u_int sx, u_int sy) } } +/* Destroy a screen. */ +void +screen_destroy(struct screen *s) +{ + screen_free_lines(s, 0, s->sy); + xfree(s->grid_data); + xfree(s->grid_attr); + xfree(s->grid_colr); +} + /* Draw a set of lines on the screen. */ void screen_draw(struct screen *s, struct buffer *b, u_int uy, u_int ly) @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.28 2007-09-30 13:02:14 nicm Exp $ */ +/* $Id: tmux.h,v 1.29 2007-10-01 14:15:48 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -565,6 +565,7 @@ void input_translate_key(struct buffer *, int); /* screen.c */ void screen_create(struct screen *, u_int, u_int); +void screen_destroy(struct screen *); void screen_resize(struct screen *, u_int, u_int); void screen_draw(struct screen *, struct buffer *, u_int, u_int); size_t screen_store_attributes(struct buffer *, u_char); @@ -1,4 +1,4 @@ -/* $Id: window.c,v 1.14 2007-09-29 14:25:49 nicm Exp $ */ +/* $Id: window.c,v 1.15 2007-10-01 14:15:48 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -178,6 +178,8 @@ window_destroy(struct window *w) input_free(&w->ictx); + screen_destroy(&w->screen); + buffer_destroy(w->in); buffer_destroy(w->out); xfree(w); |