From bbc2bad4aba78d05f06c5c0554dac712680d835f Mon Sep 17 00:00:00 2001 From: Aleksei Nikiforov Date: Wed, 26 Feb 2020 10:36:45 +0300 Subject: [PATCH] ItemContainer: disconnect signals in destructor Otherwise, setLayout function might be called for already destructed instance of ItemContainer, leading to double reference counter decrement of m_layout QPointer, eventually invalidating such pointers prematurely. --- .../components/containmentlayoutmanager/itemcontainer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plasma-workspace/components/containmentlayoutmanager/itemcontainer.cpp b/plasma-workspace/components/containmentlayoutmanager/itemcontainer.cpp index d1bc7dbf7..c533ff98a 100644 --- a/plasma-workspace/components/containmentlayoutmanager/itemcontainer.cpp +++ b/plasma-workspace/components/containmentlayoutmanager/itemcontainer.cpp @@ -63,6 +63,10 @@ ItemContainer::ItemContainer(QQuickItem *parent) ItemContainer::~ItemContainer() { + disconnect(m_sizeHintAdjustTimer, &QTimer::timeout, this, &ItemContainer::sizeHintsChanged); + disconnect(m_editModeTimer, &QTimer::timeout, this, nullptr); + disconnect(this, &QQuickItem::parentChanged, this, nullptr); + if (m_contentItem) { m_contentItem->setEnabled(true); } -- 2.24.1