summaryrefslogtreecommitdiffstats
path: root/tests/auto/qlistwidget
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qlistwidget')
-rw-r--r--tests/auto/qlistwidget/tst_qlistwidget.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/auto/qlistwidget/tst_qlistwidget.cpp b/tests/auto/qlistwidget/tst_qlistwidget.cpp
index a56a470..e38ef20 100644
--- a/tests/auto/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/qlistwidget/tst_qlistwidget.cpp
@@ -128,6 +128,8 @@ private slots:
void setSortingEnabled();
void task199503_crashWhenCleared();
void task217070_scrollbarsAdjusted();
+ void task258949_keypressHangup();
+
protected slots:
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last)
@@ -994,7 +996,7 @@ void tst_QListWidget::sortHiddenItems()
for (int k = 0; k < tw->count(); ++k)
QCOMPARE(persistent.at(k).row(), expectedRows.at(k));
-
+
delete tw;
}
@@ -1498,5 +1500,24 @@ void tst_QListWidget::task217070_scrollbarsAdjusted()
}
}
+void tst_QListWidget::task258949_keypressHangup()
+{
+ QListWidget lw;
+ for (int y = 0; y < 5; y++) {
+ QListWidgetItem *lwi = new QListWidgetItem(&lw);
+ lwi->setText(y ? "1" : "0");
+ if (y)
+ lwi->setFlags(Qt::ItemIsSelectable);
+ }
+
+ lw.show();
+ lw.setCurrentIndex(lw.model()->index(0,0));
+ QCOMPARE(lw.currentIndex(), lw.model()->index(0,0));
+ QTest::qWait(30);
+ QTest::keyPress(&lw, '1'); //this used to freeze
+ QTest::qWait(30);
+ QCOMPARE(lw.currentIndex(), lw.model()->index(0,0));
+}
+
QTEST_MAIN(tst_QListWidget)
#include "tst_qlistwidget.moc"