From 222e8c1286a8d52621efb1cc1f338681863593d4 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 15 Feb 2021 09:15:49 +0100 Subject: [PATCH] Utils: Use QPointer for registered aspect subwidgets Amends 67a3d2e3d1. Change-Id: I4807fd3409f66b10de5c95d7b07ddfdc7cf9174f Reviewed-by: David Schulz --- src/libs/utils/aspects.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 56d27f84c83..c4c615ed0a0 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -61,7 +61,7 @@ public: bool m_enabled = true; bool m_readOnly = true; BaseAspect::ConfigWidgetCreator m_configWidgetCreator; - QList m_subWidgets; + QList> m_subWidgets; }; } // Internal @@ -125,8 +125,10 @@ bool BaseAspect::isVisible() const void BaseAspect::setVisible(bool visible) { d->m_visible = visible; - for (QWidget *w : qAsConst(d->m_subWidgets)) + for (QWidget *w : qAsConst(d->m_subWidgets)) { + QTC_ASSERT(w, continue); w->setVisible(visible); + } } QString BaseAspect::toolTip() const @@ -140,21 +142,26 @@ QString BaseAspect::toolTip() const void BaseAspect::setToolTip(const QString &tooltip) { d->m_tooltip = tooltip; - for (QWidget *w : qAsConst(d->m_subWidgets)) + for (QWidget *w : qAsConst(d->m_subWidgets)) { + QTC_ASSERT(w, continue); w->setToolTip(tooltip); + } } void BaseAspect::setEnabled(bool enabled) { d->m_enabled = enabled; - for (QWidget *w : qAsConst(d->m_subWidgets)) + for (QWidget *w : qAsConst(d->m_subWidgets)) { + QTC_ASSERT(w, continue); w->setEnabled(enabled); + } } void BaseAspect::setReadOnly(bool readOnly) { d->m_readOnly = readOnly; for (QWidget *w : qAsConst(d->m_subWidgets)) { + QTC_ASSERT(w, continue); if (auto lineEdit = qobject_cast(w)) lineEdit->setReadOnly(readOnly); else if (auto textEdit = qobject_cast(w))