diff --git a/window.c b/window.c index 66c98f48..db854f63 100644 --- a/window.c +++ b/window.c @@ -1,4 +1,4 @@ -/* $Id: window.c,v 1.5 2007-09-19 15:16:23 nicm Exp $ */ +/* $Id: window.c,v 1.6 2007-09-19 16:00:55 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -158,7 +158,10 @@ window_remove(struct windows *ww, struct window *w) if (window_index(ww, w, &i) != 0) fatalx("window not found"); - ARRAY_SET(ww, i, NULL); + if (i != ARRAY_LENGTH(ww) - 1) + ARRAY_SET(ww, i, NULL); + else + ARRAY_TRUNC(ww, 1); w->references--; if (w->references == 0) {