diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-06-04 09:30:17 +0200 |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-06-04 09:59:58 +0200 |
commit | cbe3119db5380c41d44d4e936c7da4889c02f147 (patch) | |
tree | 255b67f69d28c540235695a87845005902fdff56 /tests/auto | |
parent | 289c098c15a359c4e5d142a997230db5df554f8d (diff) | |
download | qt4-tools-cbe3119db5380c41d44d4e936c7da4889c02f147.tar.gz |
BT: Fixes Crash when deleting a QProgressBar which has been styled with QMotifStyle
Same fix as in e9a7e43031d7c1ee712e43be682c4e2c183759c4 but with motif
Reported by https://bugs.kde.org/show_bug.cgi?id=193911
Task-number: 255138
Reviewed-by: jbache
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qprogressbar/tst_qprogressbar.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/auto/qprogressbar/tst_qprogressbar.cpp b/tests/auto/qprogressbar/tst_qprogressbar.cpp index d6379d3dc3..cb037e0442 100644 --- a/tests/auto/qprogressbar/tst_qprogressbar.cpp +++ b/tests/auto/qprogressbar/tst_qprogressbar.cpp @@ -63,6 +63,7 @@ private slots: void setValueRepaint(); void sizeHint(); + void task245201_testChangeStyleAndDelete_data(); void task245201_testChangeStyleAndDelete(); }; @@ -224,15 +225,30 @@ void tst_QProgressBar::sizeHint() QCOMPARE(barSize.height(), size.height()); } +void tst_QProgressBar::task245201_testChangeStyleAndDelete_data() +{ + QTest::addColumn<QString>("style1_str"); + QTest::addColumn<QString>("style2_str"); + + QTest::newRow("plastique-windows") << QString::fromLatin1("plastique") << QString::fromLatin1("windows"); + QTest::newRow("mlotif-windows") << QString::fromLatin1("motif") << QString::fromLatin1("windows"); + QTest::newRow("cleanlooks-cde") << QString::fromLatin1("cleanlooks") << QString::fromLatin1("cde"); + QTest::newRow("gtk-plastique") << QString::fromLatin1("gtk") << QString::fromLatin1("plastique"); +} + void tst_QProgressBar::task245201_testChangeStyleAndDelete() { + QFETCH(QString, style1_str); + QFETCH(QString, style2_str); + QProgressBar *bar = new QProgressBar; - QStyle *style = QStyleFactory::create("plastique"); + QStyle *style = QStyleFactory::create(style1_str); bar->setStyle(style); bar->show(); - QStyle *style2 = QStyleFactory::create("windows"); + QStyle *style2 = QStyleFactory::create(style2_str); bar->setStyle(style2); + QTest::qWait(10); delete bar; QTest::qWait(100); //should not crash |