qt6-bb10/tests/auto/widgets/kernel
Volker Hilsheimer 7ba75d088c QWidget: close the QWindow in QWidget::close
We want to close the window, end full screen mode on macOS, and free
platform resources. This is all done by QWindow::close. QWindow::close
closes the platform window, triggering a closeEvent to QWidgetWindow,
which then calls QWidgetPrivate::close_helper.

This way, closing a window via QWidget::close, QWindow::close, or
interactively by the user are all equivalent.

The QCloseEvent generated by the widget needs to be spontaneous for
window-system generated events (i.e. the user clicked the close button),
and non-spontaneous if the window closes because of a call to
QWindow::close. To keep track of whether the event originated in an
explicit call to QWindow::close, add a boolean to the QWindowPrivate.

Add a test case that verifies that the window resources is destroyed,
and that events are delivered as they should.

Done-with: Morten Johan Sørvig <morten.sorvig@qt.io>
Fixes: QTBUG-46701
Pick-to: 6.2
Change-Id: Iacb6a2c8d5e880b16b0c8f0c9257ed94bed36f5b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-09-02 20:34:48 +02:00
..
qaction Remove the qmake project files 2021-01-07 15:32:28 +01:00
qactiongroup Remove the qmake project files 2021-01-07 15:32:28 +01:00
qapplication tst_qapplication: Prevent desktopaware test from deactivating main test 2021-02-15 14:20:08 +01:00
qboxlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qformlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qgesturerecognizer Android: unblock passing tests 2021-04-27 21:12:50 +03:00
qgridlayout Fix invalid pointer return with QGridLayout::itemAt(-1) 2021-03-22 18:47:36 +08:00
qlayout Do not remove non-widget items when removeWidget() called with nullptr 2021-05-11 16:57:17 +00:00
qshortcut Fix tsts_QShortcut::keys on Wayland 2021-03-15 08:21:40 +01:00
qsizepolicy Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstackedlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtooltip Remove the qmake project files 2021-01-07 15:32:28 +01:00
qwidget QWidget: cope with QObject::connect()'s incomplete SFINAE-friendliness 2021-07-24 00:33:09 +02:00
qwidget_window QWidget: close the QWindow in QWidget::close 2021-09-02 20:34:48 +02:00
qwidgetaction QWidgetAction: add test for defaultWidget() being deleted before action 2021-06-22 11:38:32 +02:00
qwidgetmetatype Remove the qmake project files 2021-01-07 15:32:28 +01:00
qwidgetsvariant Remove the qmake project files 2021-01-07 15:32:28 +01:00
qwindowcontainer Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt Android: blacklist a list of failing tests for android 2020-11-04 12:27:49 +02:00