diff options
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -182,13 +182,8 @@ winlink_remove(struct winlinks *wwl, struct winlink *wl) free(wl->status_text); free(wl); - if (w != NULL) { - if (w->references == 0) - fatal("bad reference count"); - w->references--; - if (w->references == 0) - window_destroy(w); - } + if (w != NULL) + window_remove_ref(w); } struct winlink * @@ -363,6 +358,16 @@ window_destroy(struct window *w) } void +window_remove_ref(struct window *w) +{ + if (w->references == 0) + fatal("bad reference count"); + w->references--; + if (w->references == 0) + window_destroy(w); +} + +void window_set_name(struct window *w, const char *new_name) { free(w->name); |