summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/quicktemplates/qquickpageindicator.cpp7
-rw-r--r--src/quicktemplates/qquickpageindicator_p.h1
-rw-r--r--tests/auto/quickcontrols/controls/data/tst_pageindicator.qml9
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() {