diff --git a/src/Engine.cpp b/src/Engine.cpp index c00e2e5e..0bbc5b95 100644 --- a/src/Engine.cpp +++ b/src/Engine.cpp @@ -994,9 +994,10 @@ bool Engine::update_entity_status( backend::StatusKind kind) { int counter = 0; - auto empty_item = new models::StatusTreeItem(backend::ID_ALL, std::string("No issues found"), false, std::string("")); if (id == backend::ID_ALL) { + auto empty_item = new models::StatusTreeItem(backend::ID_ALL, + std::string("No issues found"), false, std::string("")); entity_status_model_->addTopLevelItem(empty_item); } else diff --git a/src/model/tree/StatusTreeItem.cpp b/src/model/tree/StatusTreeItem.cpp index d5964343..45bb171b 100644 --- a/src/model/tree/StatusTreeItem.cpp +++ b/src/model/tree/StatusTreeItem.cpp @@ -166,6 +166,7 @@ void StatusTreeItem::removeChild( if (item) { child_items_.removeAll(item); + delete item; } } diff --git a/src/model/tree/StatusTreeModel.cpp b/src/model/tree/StatusTreeModel.cpp index 54e2045e..9bd17384 100644 --- a/src/model/tree/StatusTreeModel.cpp +++ b/src/model/tree/StatusTreeModel.cpp @@ -92,7 +92,6 @@ void StatusTreeModel::filter( { for (int i = 0; i < source_model_->rootItem()->childCount(); i++) { - addTopLevelItem(copy(source_model_->rootItem()->child(i), entity_id)); } }