aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickloader.cpp1
-rw-r--r--tests/auto/quick/qquickloader/data/initialPropertyValues.12.qml20
-rw-r--r--tests/auto/quick/qquickloader/tst_qquickloader.cpp5
3 files changed, 25 insertions, 1 deletions
diff --git a/src/quick/items/qquickloader.cpp b/src/quick/items/qquickloader.cpp
index 43b70b23c2..40e0c3219a 100644
--- a/src/quick/items/qquickloader.cpp
+++ b/src/quick/items/qquickloader.cpp
@@ -711,7 +711,6 @@ void QQuickLoaderPrivate::incubatorStateChanged(QQmlIncubator::Status status)
emit q->progressChanged();
if (status == QQmlIncubator::Ready)
emit q->loaded();
- disposeInitialPropertyValues(); // cleanup
}
void QQuickLoaderPrivate::_q_sourceLoaded()
diff --git a/tests/auto/quick/qquickloader/data/initialPropertyValues.12.qml b/tests/auto/quick/qquickloader/data/initialPropertyValues.12.qml
new file mode 100644
index 0000000000..940730b307
--- /dev/null
+++ b/tests/auto/quick/qquickloader/data/initialPropertyValues.12.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property int i: 0
+
+ Loader {
+ id: loader
+ objectName: "loader"
+ active: false
+ }
+
+ Component.onCompleted: {
+ loader.setSource("CacheClearTest.qml", {i: 12})
+ loader.active = true
+ loader.active = false
+ loader.active = true
+ root.i = loader.item.i // should be 12
+ }
+}
diff --git a/tests/auto/quick/qquickloader/tst_qquickloader.cpp b/tests/auto/quick/qquickloader/tst_qquickloader.cpp
index 91d0bcab2e..552393491d 100644
--- a/tests/auto/quick/qquickloader/tst_qquickloader.cpp
+++ b/tests/auto/quick/qquickloader/tst_qquickloader.cpp
@@ -698,6 +698,11 @@ void tst_QQuickLoader::initialPropertyValues_data()
<< QStringList()
<< (QStringList() << "oldi" << "i")
<< (QVariantList() << 12 << 42);
+
+ QTest::newRow("ensure initial properties aren't disposed after active = true") << testFileUrl("initialPropertyValues.12.qml")
+ << QStringList()
+ << (QStringList() << "i")
+ << (QVariantList() << 12);
}
void tst_QQuickLoader::initialPropertyValues()