Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.6.1
-
None
-
OS X
-
9ab60b9c0db453fb598e42d91ce3217944afd9b6
Description
Since QCocoaEventDispatcher::processEvents() resets the interrupt state, this may prevent a higher level event loop from returning.
For example, calling Menu::exec() and, as a result of an action being triggered, the application calls QCoreApplication::processEvents() after QMenu::hideEvent(). In this case, the menu event loop can be stuck until we run another event loop.
See attached example. Click the button and wait until "Done looping" is printed (As things are, it won't until you exit the app).
Attachments
Issue Links
- duplicates
-
QTBUG-55725 ProcessEvents hang
- Closed
- is duplicated by
-
QTBUG-55082 [macOS]: When calling processEvents() after calling accept() on a QDialog then it will get stuck inside the dialog's event loop
- Closed
- relates to
-
QTBUG-49539 QThread::quit() does not work on OS X.
- Closed