diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-07-05 16:57:12 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-07-06 08:37:55 +0000 |
commit | 11ac8a8b598fc79e38339519e52d4fe1a56ddaeb (patch) | |
tree | 2ce12192f7ca738f1f299d46997278de07d84c1c /tests/auto/controls/data/tst_combobox.qml | |
parent | 2f5a6875c3b9a4ee5c647ebddd6defa6ca12d314 (diff) |
Fix QQuickComboBox::textAt()
QQmlObjectModel::object() increases the reference count, and must be
paired with QQmlObjectModel::release() to decrease the reference count
when the object reference is no longer needed. When ComboBox model
changed, previously created delegate instances weren't released as
appropriate, because their reference counts were non-zero.
Change-Id: I55d67b8baf3c00c1236155b1196a958b6db79e28
Task-number: QTBUG-54573
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/controls/data/tst_combobox.qml')
-rw-r--r-- | tests/auto/controls/data/tst_combobox.qml | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml index 38858998..d21e9900 100644 --- a/tests/auto/controls/data/tst_combobox.qml +++ b/tests/auto/controls/data/tst_combobox.qml @@ -811,4 +811,33 @@ TestCase { control.destroy() } + + ListModel { + id: resetmodel + ListElement { text: "First" } + ListElement { text: "Second" } + ListElement { text: "Third" } + } + + // QTBUG-54573 + function test_modelReset() { + var control = comboBox.createObject(testCase, {model: resetmodel}) + verify(control) + control.popup.open() + + var listview = control.popup.contentItem + verify(listview) + + waitForRendering(listview) + compare(listview.contentItem.children.length, resetmodel.count + 1) // + highlight item + + resetmodel.clear() + resetmodel.append({text: "Fourth"}) + resetmodel.append({text: "Fifth"}) + + waitForRendering(listview) + compare(listview.contentItem.children.length, resetmodel.count + 1) // + highlight item + + control.destroy() + } } |