on xenial help sign in
Do not crash on positionAtBeginning if the list is empty

. Approved by PS Jenkins bot, Michał Sawicz.

commit4bf2e442f9b78e4db1a0a74a748f46d110fe3a58 authorAlbert Astals <albert.astals@canonical.com> dateThu 3 Oct 2013, 05:51 (13 years ago) parent7b1c72f86ec803
2 files changed+11
plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+3 tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp+8
plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+3
@@ -330,6 +330,9 @@ void ListViewWithPageHeader::setForceNoClip(bool noClip)
330330
331331void ListViewWithPageHeader::positionAtBeginning()
332332{
333+ if (m_delegateModel->count() <= 0)
334+ return;
335+
333336 qreal headerHeight = (m_headerItem ? m_headerItem->height() : 0);
334337 if (m_firstVisibleIndex != 0) {
335338 // TODO This could be optimized by trying to reuse the interesection
tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp+8
@@ -1816,6 +1816,14 @@ private Q_SLOTS:
18161816 verifyItem(0, -50., 800., false);
18171817 }
18181818
1819+ void positionAtBeginningEmpty()
1820+ {
1821+ QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 0), Q_ARG(QVariant, 6));
1822+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 0);
1823+
1824+ lvwph->positionAtBeginning();
1825+ }
1826+
18191827private:
18201828 QQuickView *view;
18211829 ListViewWithPageHeader *lvwph;