From bc3f8e9810137d4a0de962a67be0bd072abb540e Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 17 Mar 2021 06:59:57 +0100 Subject: [PATCH] Utils: Make AspectContainer::setAutoApply sticky So it applies to all subsequently registered subaspects. Change-Id: I9cc215b6ed9637eefc3b1721db778d4097809faa Reviewed-by: David Schulz --- src/libs/utils/aspects.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 4018aea50c0..7e8fadaddb1 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -2009,6 +2009,7 @@ class AspectContainerPrivate { public: QList m_items; // Not owned + bool m_autoApply = true; }; } // Internal @@ -2027,13 +2028,14 @@ AspectContainer::~AspectContainer() = default; */ void AspectContainer::registerAspect(BaseAspect *aspect) { + aspect->setAutoApply(d->m_autoApply); d->m_items.append(aspect); } void AspectContainer::registerAspects(const AspectContainer &aspects) { for (BaseAspect *aspect : qAsConst(aspects.d->m_items)) - d->m_items.append(aspect); + registerAspect(aspect); } void AspectContainer::fromMap(const QVariantMap &map) @@ -2086,6 +2088,7 @@ void AspectContainer::reset() void AspectContainer::setAutoApply(bool on) { + d->m_autoApply = on; for (BaseAspect *aspect : qAsConst(d->m_items)) aspect->setAutoApply(on); }