From 7a873acdbe2402ef9d0184823673b0eb561bae61 Mon Sep 17 00:00:00 2001 From: Florian Reimold <11774314+FlorianReimold@users.noreply.github.com> Date: Fri, 29 Jan 2021 09:35:22 +0100 Subject: [PATCH] Fixed ecalsys crash #168 * Fixed ecalsys crash #168 * Replaced more delete with deleteLater, just in case --- .../src/widgets/mmawidget/mma_host_item.cpp | 16 ++++++++-------- .../sys_gui/src/widgets/mmawidget/mma_widget.cpp | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/sys/sys_gui/src/widgets/mmawidget/mma_host_item.cpp b/app/sys/sys_gui/src/widgets/mmawidget/mma_host_item.cpp index f931e141b0..d23583ab66 100644 --- a/app/sys/sys_gui/src/widgets/mmawidget/mma_host_item.cpp +++ b/app/sys/sys_gui/src/widgets/mmawidget/mma_host_item.cpp @@ -121,8 +121,8 @@ void MmaHostItem::addWidgetsToTree() disk_group_widget_ ->setMinimumWidth(2, io_width); // The widgets might both be deleted when removing this object or when destroying the treeWidget, so we connect the appropriate signals - connect(this, &QObject::destroyed, cpu_bar_, &QObject::deleteLater); - connect(this, &QObject::destroyed, ram_bar_, &QObject::deleteLater); + connect(this, &QObject::destroyed, cpu_bar_, &QObject::deleteLater); + connect(this, &QObject::destroyed, ram_bar_, &QObject::deleteLater); connect(this, &QObject::destroyed, network_group_widget_, &QObject::deleteLater); connect(this, &QObject::destroyed, disk_group_widget_, &QObject::deleteLater); @@ -161,7 +161,7 @@ void MmaHostItem::setEnabled(bool enabled) treeWidget()->removeItemWidget(it->second.first->child(0), 0); network_group_item_->removeChild(it->second.first); delete it->second.first; - delete it->second.second; + it->second.second->deleteLater(); it = network_items.erase(it); } for (auto it = disk_items_.begin(); it != disk_items_.end();) @@ -170,8 +170,8 @@ void MmaHostItem::setEnabled(bool enabled) treeWidget()->removeItemWidget(std::get<0>(it->second)->child(0), 0); disks_group_item_->removeChild(std::get<0>(it->second)); delete std::get<0>(it->second); - delete std::get<1>(it->second); - delete std::get<2>(it->second); + std::get<1>(it->second)->deleteLater(); + std::get<2>(it->second)->deleteLater(); it = disk_items_.erase(it); } @@ -367,8 +367,8 @@ void MmaHostItem::machineStateChanged(eCAL::pb::mma::State state) treeWidget()->removeItemWidget(std::get<0>(it->second)->child(0), 0); disks_group_item_->removeChild(std::get<0>(it->second)); delete std::get<0>(it->second); - delete std::get<1>(it->second); - delete std::get<2>(it->second); + std::get<1>(it->second)->deleteLater(); + std::get<2>(it->second)->deleteLater(); it = disk_items_.erase(it); } } @@ -460,7 +460,7 @@ void MmaHostItem::machineStateChanged(eCAL::pb::mma::State state) treeWidget()->removeItemWidget(it->second.first->child(0), 0); network_group_item_->removeChild(it->second.first); delete it->second.first; - delete it->second.second; + it->second.second->deleteLater(); it = network_items.erase(it); } } diff --git a/app/sys/sys_gui/src/widgets/mmawidget/mma_widget.cpp b/app/sys/sys_gui/src/widgets/mmawidget/mma_widget.cpp index 4b8df6f18e..fac2975fff 100644 --- a/app/sys/sys_gui/src/widgets/mmawidget/mma_widget.cpp +++ b/app/sys/sys_gui/src/widgets/mmawidget/mma_widget.cpp @@ -73,7 +73,7 @@ void MmaWidget::monitorUpdated() if (all_hosts.find(it->first) == all_hosts.end()) { // The host is not present any more - delete it->second; + it->second->deleteLater(); it = host_items_.erase(it); } else @@ -82,4 +82,4 @@ void MmaWidget::monitorUpdated() it++; } } -} \ No newline at end of file +}