From 34228039d8f902d54fd88c83a63e567681006686 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 23 Aug 2024 10:23:11 +0200 Subject: [PATCH] QmlDesigner: Fix disconnecting the last connection Amends b5aac705ea7aa68fce74dd452c2b7c1b5eb0b5f0 Change-Id: I723b7d7847dfdb75d173a61b023e1fc30ea40eb4 Reviewed-by: Thomas Hartmann --- .../components/toolbar/toolbarbackend.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp index 73e55fbc51d..a25213c1fcd 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp @@ -309,16 +309,14 @@ ToolBarBackend::ToolBarBackend(QObject *parent) this, &ToolBarBackend::documentIndexChanged); - connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged, this, [this]() { - static QMetaObject::Connection *lastConnection = nullptr; - delete lastConnection; + connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged, this, [this] { + static QMetaObject::Connection lastConnection; + disconnect(lastConnection); if (auto textDocument = qobject_cast( Core::EditorManager::currentDocument())) { - connect(textDocument->document(), - &QTextDocument::modificationChanged, - this, - &ToolBarBackend::isDocumentDirtyChanged); + lastConnection = connect(textDocument->document(), &QTextDocument::modificationChanged, + this, &ToolBarBackend::isDocumentDirtyChanged); emit isDocumentDirtyChanged(); } });