Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
Description
The current event dispatcher implementation has some defects we'd like to correct:
- Make a QtCore-only event dispatcher, so that e.g. network can work with QCoreApplication.
- Don't inherit QUnixEventDispatcherQPA. Some of the virtuals we'd like to override are final on that class. Either re-implement or drop the features it provides (such as n:1 timer multiplexing).
- Remove the need for calling QWasmEventDispatcher::maintainTimers() at the end of all wakeups. Call it automatically on postEvent, registerTimer, and requestUpdate instead.
- Make sure the multithreading missing event loop wakeup bug gets fixed (
QTBUG-75793) - Support not calling app.exec(). Creating a Q[Gui|]Application instance should be sufficient.
Bonus
- Platform autotests for the event dispatcher
- Asyncify support
Attachments
Issue Links
- relates to
-
QTBUG-77796 WASM event loop: running as a QCoreApplication without any canvas
-
- Closed
-
For Gerrit Dashboard: QTBUG-76007 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
280199,4 | Wasm: Support event loop wakeup from secondary threads | 5.14 | qt/qtbase | Status: MERGED | +2 | 0 |
290460,15 | wasm: add new event dispatcher implementation | dev | qt/qtbase | Status: MERGED | +2 | 0 |
301127,2 | wasm: use new event dispatcher for QtGui apps | dev | qt/qtbase | Status: DEFERRED | 0 | 0 |