diff --git a/src/declarativeimports/core/colorscope.cpp b/src/declarativeimports/core/colorscope.cpp index 8f72adb68..3c6de03ea 100644 --- a/src/declarativeimports/core/colorscope.cpp +++ b/src/declarativeimports/core/colorscope.cpp @@ -70,6 +70,7 @@ ColorScope::ColorScope(QQuickItem *parent, QObject *parentObject) ColorScope::~ColorScope() { + m_deleting = true; s_attachedScopes.remove(m_parent); } @@ -127,8 +128,7 @@ ColorScope *ColorScope::findParentScope() // Make sure AppletInterface always has a ColorScope s = static_cast(qmlAttachedPropertiesObject(candidate, qobject_cast(candidate))); } - - if (s) { + if (s && !s->m_deleting) { setParentScope(s); return s; } diff --git a/src/declarativeimports/core/colorscope.h b/src/declarativeimports/core/colorscope.h index 4d0dcdce4..3d9bddec8 100644 --- a/src/declarativeimports/core/colorscope.h +++ b/src/declarativeimports/core/colorscope.h @@ -133,6 +133,7 @@ private: QPointer m_parentScope; QObject *const m_parent; Plasma::Theme::ColorGroup m_actualGroup; + bool m_deleting = false; static QHash s_attachedScopes;