aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickitemview.cpp1
-rw-r--r--tests/auto/quick/qquicklistview/data/headerCrash.qml20
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp11
3 files changed, 32 insertions, 0 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index d7b984788e..5d6fc534b4 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -66,6 +66,7 @@ FxViewItem::~FxViewItem()
{
delete transitionableItem;
if (ownItem && item) {
+ trackGeometry(false);
item->setParentItem(0);
item->deleteLater();
item = 0;
diff --git a/tests/auto/quick/qquicklistview/data/headerCrash.qml b/tests/auto/quick/qquicklistview/data/headerCrash.qml
new file mode 100644
index 0000000000..124fa894f2
--- /dev/null
+++ b/tests/auto/quick/qquicklistview/data/headerCrash.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+
+ListView {
+ id: myList
+
+ width: 400; height: 400
+ model: 10
+
+ header: Item {
+ height: parent ? 20 : 10
+ width: 400
+ }
+
+ delegate: Rectangle {
+ width: parent.width; height: 20
+ color: index % 2 ? "green" : "red"
+ }
+
+ Component.onCompleted: myList.verticalLayoutDirection = ListView.BottomToTop
+}
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index a0045a244f..4b52ad0071 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -218,6 +218,8 @@ private slots:
void highlightItemGeometryChanges();
+ void QTBUG_36481();
+
private:
template <class T> void items(const QUrl &source);
template <class T> void changed(const QUrl &source);
@@ -7058,6 +7060,15 @@ void tst_QQuickListView::highlightItemGeometryChanges()
}
}
+void tst_QQuickListView::QTBUG_36481()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFileUrl("headerCrash.qml"));
+
+ // just testing that we don't crash when creating
+ QScopedPointer<QObject> object(component.create());
+}
+
QTEST_MAIN(tst_QQuickListView)
#include "tst_qquicklistview.moc"