diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-02-24 09:35:56 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-02-27 06:02:44 +0000 |
commit | 175b12beba7bb4d1bf150c217afffc3d88801272 (patch) | |
tree | a81b924c20f9e911778f7334b2f6b76fb1a70600 /tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp | |
parent | 4e966497ce3674286f38faab68679201ec6ca22e (diff) |
Prevent static functions of Q[Gui]Application from crashing if there is no instance.
Add tests.
Task-number: QTBUG-44499
Change-Id: I160b089ad3f23ab71a87519e50f8a2ef5d2a4a6f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp')
-rw-r--r-- | tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp index bab3337c0c..c3e8b51ccd 100644 --- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp @@ -172,6 +172,8 @@ private slots: void abortQuitOnShow(); + void staticFunctions(); + void settableStyleHints_data(); void settableStyleHints(); // Needs to run last as it changes style hints. }; @@ -2299,6 +2301,28 @@ void tst_QApplication::abortQuitOnShow() QCOMPARE(app.exec(), 1); } +// Test that static functions do not crash if there is no application instance. +void tst_QApplication::staticFunctions() +{ + QApplication::setStyle(QStringLiteral("blub")); + QApplication::colorSpec(); + QApplication::setColorSpec(42); + QApplication::allWidgets(); + QApplication::topLevelWidgets(); + QApplication::desktop(); + QApplication::activePopupWidget(); + QApplication::activeModalWidget(); + QApplication::focusWidget(); + QApplication::activeWindow(); + QApplication::setActiveWindow(Q_NULLPTR); + QApplication::widgetAt(QPoint(0, 0)); + QApplication::topLevelAt(QPoint(0, 0)); + QApplication::setGlobalStrut(QSize(0, 0)); + QApplication::globalStrut(); + QApplication::isEffectEnabled(Qt::UI_General); + QApplication::setEffectEnabled(Qt::UI_General, false); +} + void tst_QApplication::settableStyleHints_data() { QTest::addColumn<bool>("appInstance"); |