From f8a44819c3ab1a3f6476ef7e66b84d5aeca7f7ba Mon Sep 17 00:00:00 2001 From: Wilhelm Schuermann Date: Tue, 21 Oct 2014 15:55:52 +0200 Subject: [PATCH] ViewTask - Free space of empty columns if rc.print_empty_columns is set. They were previously sent into nirvana, making the ViewTask destructor miss them. --- src/ViewTask.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/ViewTask.cpp b/src/ViewTask.cpp index 5c6336a5b..8f3530a91 100644 --- a/src/ViewTask.cpp +++ b/src/ViewTask.cpp @@ -154,10 +154,19 @@ std::string ViewTask::render (std::vector & data, std::vector & seque ideal.push_back (global_ideal); } - if (! print_empty_columns && global_min != 0) + if (! print_empty_columns) { - nonempty_columns.push_back (_columns[i]); - nonempty_sort.push_back (_sort[i]); + if (global_min != 0) // Column is nonempty + { + nonempty_columns.push_back (_columns[i]); + nonempty_sort.push_back (_sort[i]); + } + else // Column is empty, drop it + { + // Note: This is safe to do because we set _columns = nonempty_columns + // after iteration over _columns is finished. + delete _columns[i]; + } } }