From 76ad5dac6348d0aaf606f8a0d05972354851f5d0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Fri, 27 Jan 2012 21:47:55 +0000 Subject: [PATCH] Bugfix: Free old criteria matching window list (Thanks piroko) --- src/commands.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/commands.c b/src/commands.c index 4071097f..1991fe27 100644 --- a/src/commands.c +++ b/src/commands.c @@ -328,13 +328,20 @@ void cmd_MIGRATION_validate() { ******************************************************************************/ char *cmd_criteria_init(Match *current_match) { + Con *con; + owindow *ow; + DLOG("Initializing criteria, current_match = %p\n", current_match); match_init(current_match); + while (!TAILQ_EMPTY(&owindows)) { + ow = TAILQ_FIRST(&owindows); + TAILQ_REMOVE(&owindows, ow, owindows); + free(ow); + } TAILQ_INIT(&owindows); /* copy all_cons */ - Con *con; TAILQ_FOREACH(con, &all_cons, all_cons) { - owindow *ow = smalloc(sizeof(owindow)); + ow = smalloc(sizeof(owindow)); ow->con = con; TAILQ_INSERT_TAIL(&owindows, ow, owindows); } -- 2.39.2