qt5base-lts/tests/manual
Tor Arne Vestbø 89f7a2759c Deliver Quit event when calling QCoreApplication::quit()
Instead of QCoreApplication::quit() directly calling exit(0), which would
leave QGuiApplication and client code out of the loop, we now send the
Quit event, and let it pass through event delivery, before finally ending
up in QCoreApplication::event(), where we call exit(0).

This has the advantage that QGuiApplication can ensure all windows are
closed before quitting, and if any of those windows ignore the close
event the quit will be aborted. This aligns the behavior of synthetic
quits via QCoreApplication::quit() with spontaneous quits from the
platform via QGuiApplicationPrivate::processApplicationTermination.

Clients who wish to exit the application without any event delivery or
potential user interaction can call the lower level exit() function
directly.

[ChangeLog][QtGui] Application termination via qApp->quit() will now
deliver Quit events to the application, which in turn will result in
application windows being closed as part of the application quit,
with an option to cancel the application quit by ignoring the close
event. Clients who explicitly want to exit the application without
any user interaction should call QCoreApplication::exit() explicitly.

Task-number: QTBUG-45262
Task-number: QTBUG-33235
Task-number: QTBUG-72013
Task-number: QTBUG-59782
Change-Id: Id4b3907e329b9ecfd936fe9a5f8a70cb66b76bb7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-07 14:41:16 +02:00
..
cocoa Change QWidget::enterEvent signature to take a QEnterEvent 2020-09-05 02:06:26 +02:00
corelib/tools Use QList instead of QVector in other qtbase tests 2020-07-07 11:48:45 +02:00
diaglib QLogging: purge deprecated qInstallMsgHandler(QtMsgHandler) 2020-07-23 11:05:53 +02:00
dialogs Remove deprecated QPrinter and QPagedPaintDevice APIs 2020-09-04 08:37:59 +02:00
embeddedintoforeignwindow Deprecate and remove uses of AA_DisableHighDpiScaling 2020-08-31 19:14:55 +02:00
filetest CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
foreignwindows Deprecate and remove uses of AA_DisableHighDpiScaling 2020-08-31 19:14:55 +02:00
gestures Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
highdpi Deprecate and remove uses of AA_DisableHighDpiScaling 2020-08-31 19:14:55 +02:00
inputmethodhints CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
keypadnavigation CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
lance CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
markdown CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
mkspecs Updated license headers 2016-01-21 18:55:18 +00:00
network_remote_stresstest CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
network_stresstest Clean up manual network stress-test 2020-07-27 11:25:11 +02:00
qcursor Deprecate and remove uses of AA_DisableHighDpiScaling 2020-08-31 19:14:55 +02:00
qdesktopservices CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qgraphicsitem CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qgraphicsitemgroup CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qgraphicslayout/flicker Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
qhttpnetworkconnection Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
qimagereader CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qlayout CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qlocale CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qmetatype CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qmimedatabase CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qnetconmonitor CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qnetworkaccessmanager/qget CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qnetworkreply Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
qopenglcontext CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qopengltextureblitter CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qopenglwidget/openglwidget CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qopenglwindow/multiwindow CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qprintdevice_dump CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qscreen xcb: drop Xinerama support 2020-09-04 17:28:49 +00:00
qssloptions CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qsslsocket CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qstorageinfo CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qsysinfo Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
qt_poll CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtabbar Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
qtabletevent CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtbug-8933 CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtbug-52641 CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtexteditlist CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtexttableborders CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qtouchevent CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qvulkaninstance CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
qwidget_zorder CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
repaint CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
rhi rhi: Work around qsizetype fallout in manual tests 2020-08-30 17:45:01 +02:00
shortcuts CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
socketengine CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
startsystemmove Add QWindow::startSystemMove and startSystemResize 2020-01-28 16:52:13 +01:00
textrendering Rename confusingly named QFont/QPalette::resolve overloads 2020-08-25 17:59:10 +02:00
touch Manual touch test: Add a settings dialog for windows 2020-07-22 19:46:09 +02:00
touchGraphicsItem Refactor pointer event hierarchy 2020-07-10 14:32:56 +02:00
transientwindow CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
triangulator CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
unc CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
wasm wasm: support all cursor shapes 2019-12-30 14:30:22 +03:00
widgetgrab CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
widgets Deprecate and remove all uses of AA_UseHighDpiPixmaps 2020-08-31 14:29:01 +02:00
windowchildgeometry Deliver Quit event when calling QCoreApplication::quit() 2020-09-07 14:41:16 +02:00
windowflags Fix some compiler errors caused by bit-rot in manual tests 2020-07-27 11:20:35 +02:00
windowgeometry Deliver Quit event when calling QCoreApplication::quit() 2020-09-07 14:41:16 +02:00
windowmodality CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
windowtransparency CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
xcb_gl_integration CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
xembed-raster CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
xembed-widgets CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
.prev_CMakeLists.txt CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
CMakeLists.txt CMake: Regenerate manual tests 2020-07-08 11:01:38 +02:00
manual.pro QtNetwork: Delete bearer management 2020-04-05 16:41:08 +02:00