aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--window.c7
1 files changed, 5 insertions, 2 deletions
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 <nicm@users.sourceforge.net>
@@ -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) {