Fix currentIndex in Qml itemView when assigning an empty model
When assigning an empty model to e.g. a ListView after component initialization has been completed, currentIndex is now correctly set to -1. Change-Id: I540c034944009ccb8894bf84f400658ef9f0371f Task-number: QTBUG-32838 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
This commit is contained in:
parent
295b53059d
commit
290dc6caf6
|
@ -0,0 +1,25 @@
|
|||
Qt 5.1.2 is a bug-fix release. It maintains both forward and backward
|
||||
compatibility (source and binary) with Qt 5.1.0 and 5.1.1.
|
||||
|
||||
For more details, refer to the online documentation included in this
|
||||
distribution. The documentation is also available online:
|
||||
|
||||
http://qt-project.org/doc/qt-5.1/
|
||||
|
||||
Some of the changes listed in this file include issue tracking numbers
|
||||
corresponding to tasks in the Qt Bug Tracker:
|
||||
|
||||
http://bugreports.qt-project.org/
|
||||
|
||||
Each of these identifiers can be entered in the bug tracker to obtain more
|
||||
information about a particular change.
|
||||
|
||||
****************************************************************************
|
||||
* Important Behavior Changes *
|
||||
****************************************************************************
|
||||
|
||||
- QTBUG-32838: Setting the model property of ListView, GridView or PathView to
|
||||
an empty model will now correctly reset currentIndex to -1. In prior versions
|
||||
currentIndex was set to 0 regardless of the actual number of rows in the model
|
||||
when the model property was changed after the view's initialization.
|
||||
|
|
@ -326,7 +326,7 @@ void QQuickItemView::setModel(const QVariant &model)
|
|||
d->updateSectionCriteria();
|
||||
d->refill();
|
||||
d->currentIndex = -1;
|
||||
setCurrentIndex(0);
|
||||
setCurrentIndex(d->model->count() > 0 ? 0 : -1);
|
||||
d->updateViewport();
|
||||
|
||||
if (d->transitioner && d->transitioner->populateTransition) {
|
||||
|
|
|
@ -2605,6 +2605,11 @@ void tst_QQuickListView::currentIndex()
|
|||
listview->setContentY(200);
|
||||
QTRY_VERIFY(!delegateVisible(listview->currentItem()));
|
||||
|
||||
// empty model should reset currentIndex to -1
|
||||
QaimModel emptyModel;
|
||||
ctxt->setContextProperty("testModel", &emptyModel);
|
||||
QCOMPARE(listview->currentIndex(), -1);
|
||||
|
||||
delete window;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue