diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 991211062f..365f64014a 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -419,6 +419,7 @@ private slots: void receivesLanguageChangeEvent(); void receivesApplicationFontChangeEvent(); void receivesApplicationPaletteChangeEvent(); + void deleteWindowInCloseEvent(); private: bool ensureScreenSize(int width, int height); @@ -11774,5 +11775,23 @@ void tst_QWidget::receivesApplicationPaletteChangeEvent() QApplication::setPalette(origPalette); } +class DeleteOnCloseEventWidget : public QWidget +{ +protected: + virtual void closeEvent(QCloseEvent *e) override + { + e->accept(); + delete this; + } +}; + +void tst_QWidget::deleteWindowInCloseEvent() +{ + // Just checking if closing this widget causes a crash + auto widget = new DeleteOnCloseEventWidget; + widget->close(); + QVERIFY(true); +} + QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" |