summaryrefslogtreecommitdiffstats
path: root/window.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2007-09-21 18:11:25 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2007-09-21 18:11:25 +0000
commit1702a781bb4e31e44c9eb21503c5812d5a058d06 (patch)
tree0a109a0d4a9cfb33f6dea7535a2c8eb599cdec9e /window.c
parent24b978adb770b4b0b6f85b8bac963d5255d55c03 (diff)
Be more careful about destroying windows.
Diffstat (limited to 'window.c')
-rw-r--r--window.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/window.c b/window.c
index 95a8bf21..9f9de97b 100644
--- a/window.c
+++ b/window.c
@@ -1,4 +1,4 @@
-/* $Id: window.c,v 1.7 2007-09-20 09:43:33 nicm Exp $ */
+/* $Id: window.c,v 1.8 2007-09-21 18:11:25 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -143,7 +143,7 @@ window_create(const char *cmd, u_int sx, u_int sy)
xfree(name);
window_add(&windows, w);
- w->references = 0;
+ w->references = 1;
return (w);
}
@@ -187,10 +187,10 @@ window_remove(struct windows *ww, struct window *w)
ARRAY_TRUNC(ww, 1);
w->references--;
- if (w->references == 0) {
+ if (w->references == 1)
window_remove(&windows, w);
+ if (w->references == 0)
window_destroy(w);
- }
}
/* Destroy a window. */