From 1fe83c1fd3eb9abfd13a7b8c7adb2c2355d8ad4d Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Thu, 14 Jan 2021 14:19:26 +0100 Subject: Fix initial currentIndex in Tumbler when wrap is set to false syncCurrentIndex () function assumes that PathView is used as view for, Tumbler component, and states that actualViewIndex should be 0 while initialization. This statement is not correct when Tumbler is in non-wrap mode and uses ListView as view, where currentIndex is set to -1 by default. Fix actualViewIndex condition according to ListView logic. Fixes: QTBUG-84426 Pick-to: 5.15 Pick-to: 6.0 Change-Id: I4ef1e7b45399bf748968490f44b8909f3218d9bc Reviewed-by: Mitch Curtis --- tests/auto/controls/data/tst_tumbler.qml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests') diff --git a/tests/auto/controls/data/tst_tumbler.qml b/tests/auto/controls/data/tst_tumbler.qml index c103aefc..3a09bd9f 100644 --- a/tests/auto/controls/data/tst_tumbler.qml +++ b/tests/auto/controls/data/tst_tumbler.qml @@ -1257,4 +1257,25 @@ TestCase { tumbler.height *= 1.4 tryCompare(delegate, "displacement", 0) } + + //QTBUG-84426 + Component { + id: initialCurrentIndexTumbler + + Tumbler { + anchors.centerIn: parent + width: 60 + height: 200 + delegate: Text {text: modelData} + model: 10 + currentIndex: 4 + } + } + + function test_initialCurrentIndex() { + var tumbler = createTemporaryObject(initialCurrentIndexTumbler, testCase, {wrap: true}); + compare(tumbler.currentIndex, 4); + tumbler = createTemporaryObject(initialCurrentIndexTumbler, testCase, {wrap: false}); + compare(tumbler.currentIndex, 4); + } } -- cgit v1.2.3