diff options
-rw-r--r-- | src/quicktemplates/qquickpageindicator.cpp | 7 | ||||
-rw-r--r-- | src/quicktemplates/qquickpageindicator_p.h | 1 | ||||
-rw-r--r-- | tests/auto/quickcontrols/controls/data/tst_pageindicator.qml | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/quicktemplates/qquickpageindicator.cpp b/src/quicktemplates/qquickpageindicator.cpp index b0bc5188fe..8b77b79e9f 100644 --- a/src/quicktemplates/qquickpageindicator.cpp +++ b/src/quicktemplates/qquickpageindicator.cpp @@ -177,6 +177,13 @@ QQuickPageIndicator::QQuickPageIndicator(QQuickItem *parent) { } +QQuickPageIndicator::~QQuickPageIndicator() +{ + Q_D(QQuickPageIndicator); + if (d->contentItem) + QQuickItemPrivate::get(d->contentItem)->removeItemChangeListener(d, QQuickItemPrivate::Children); +} + /*! \qmlproperty int QtQuick.Controls::PageIndicator::count diff --git a/src/quicktemplates/qquickpageindicator_p.h b/src/quicktemplates/qquickpageindicator_p.h index d6c648716c..9d91e12479 100644 --- a/src/quicktemplates/qquickpageindicator_p.h +++ b/src/quicktemplates/qquickpageindicator_p.h @@ -34,6 +34,7 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPageIndicator : public QQuickContro public: explicit QQuickPageIndicator(QQuickItem *parent = nullptr); + ~QQuickPageIndicator() override; int count() const; void setCount(int count); diff --git a/tests/auto/quickcontrols/controls/data/tst_pageindicator.qml b/tests/auto/quickcontrols/controls/data/tst_pageindicator.qml index 837972cdc2..e97dd199ef 100644 --- a/tests/auto/quickcontrols/controls/data/tst_pageindicator.qml +++ b/tests/auto/quickcontrols/controls/data/tst_pageindicator.qml @@ -15,12 +15,17 @@ TestCase { Component { id: pageIndicator - PageIndicator { } + PageIndicator { + objectName: "pageIndicator" + contentItem.objectName: "pageIndicatorContentItem" + } } Component { id: mouseArea - MouseArea { } + MouseArea { + objectName: "mouseArea" + } } function test_defaults() { |