diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp index adeb9528e31..2405314dfb4 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp @@ -393,13 +393,16 @@ ToolBarBackend::ToolBarBackend(QObject *parent) &ToolBarBackend::documentIndexChanged); connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged, this, [this] { - static QMetaObject::Connection lastConnection; - disconnect(lastConnection); + disconnect(m_documentConnection); if (auto textDocument = qobject_cast( Core::EditorManager::currentDocument())) { - lastConnection = connect(textDocument->document(), &QTextDocument::modificationChanged, - this, &ToolBarBackend::isDocumentDirtyChanged); + m_documentConnection = connect(textDocument->document(), + &QTextDocument::modificationChanged, + this, + + &ToolBarBackend::isDocumentDirtyChanged); + emit isDocumentDirtyChanged(); } }); diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h index a1b28f88f32..a41d5d23aa9 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h @@ -235,6 +235,7 @@ private: QStringList m_openDocuments; QMetaObject::Connection m_kitConnection; + QMetaObject::Connection m_documentConnection; }; } // namespace QmlDesigner