Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.2
-
None
-
-
851ed6f0b1014e5acabdc1f977979841d16ecc31 (qt/qtbase/dev) 0fb4e97f3837d7c1802a28c5f728effb788f6cc5 (qt/qtbase/6.2)
Description
After this commit:
https://github.com/qt/qtbase/commit/0c02f133f3daee146b805149e69bba8cee6727b2
Calling QApplication::quit() before QApplication::exec() quits instantly on [NSApp terminate:nil]; line, while in Qt 5.15.2 it was behaving as it is said in the docs:
"If a signal connected (non-queued) to this slot is emitted before control enters the main event loop (such as before "int main" calls exec()), the slot has no effect and the application never exits." (https://doc-snapshots.qt.io/qt6-dev/qcoreapplication.html#quit)
This may result in critical bugs if you're not lucky. For example, rendering the application non-launchable, if it calls quit() and expects to shut down in a predictable way. For me it introduced the worst bug in several years in the stable released on everybody version of the app
Attachments
Issue Links
- resulted in
-
QTBUG-98239 Reg->6.2.2: Calling QCoreApplication::quit() while QDialog::exec() is running with no QCoreApplication::exec() running no longer quits
- Closed
For Gerrit Dashboard: QTBUG-98088 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
380416,2 | Don't quit application if we're not in exec | dev | qt/qtbase | Status: MERGED | +2 | 0 |
380435,2 | Don't quit application if we're not in exec | 6.2 | qt/qtbase | Status: MERGED | +2 | 0 |
380848,2 | Fix hang of test qinputdialog_get_test.py | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
380917,2 | Fix hang of test qinputdialog_get_test.py | 6.2 | pyside/pyside-setup | Status: MERGED | +2 | 0 |