From bd96faa14f4cde646e5d4b77a4e6fb3a7d9600fa Mon Sep 17 00:00:00 2001 From: joshua Date: Thu, 24 Jun 2021 19:15:24 +0200 Subject: [PATCH] Fix crash When a qetgraphicstable is deleted, the next and previous table is not aware about the deletion and keep a dangled pointer of the deleted table who cause a segfault. --- .../ViewItem/qetgraphicstableitem.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp index 3c402d795..e9fb6d198 100644 --- a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp +++ b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp @@ -156,7 +156,17 @@ QetGraphicsTableItem::QetGraphicsTableItem(QGraphicsItem *parent) : } QetGraphicsTableItem::~QetGraphicsTableItem() -{} +{ + if (m_previous_table) { + if (m_next_table) { + m_previous_table->setNextTable(m_next_table); + } else { + m_previous_table->setNextTable(nullptr); + } + } else if (m_next_table) { + m_next_table->setPreviousTable(nullptr); + } +} /** @brief QetGraphicsTableItem::setModel