Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.15.1
-
None
-
CMake build, Visual Studio, Debug/Release configuration
-
-
8ec9a48e80a72c7b9e82107a2c66de6cbf7a02fe 73e0a5a422f7c484a083c909e3b573429b7c3301 (qt/qtbase/5.15)
Description
In QEventLoop:: processEvents:
https://github.com/qt/qtbase/blob/dev/src/corelib/kernel/qeventloop.cpp#L262
there is a while loop, in which the timeout is checked. However the called bool processEvents(ProcessEventsFlags) function processes multiple events itself. Therefore, if multiple events are added to the event loop, all of them gets processed, independently of the timeout value.
According to the documentation events should be only processed until the given timeout time is elapsed. I understand that executing a single event cannot be interrupted, but if there are multiple events the timeout should be checked after executing every single one of them.
Attachments
For Gerrit Dashboard: QTBUG-88653 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
322566,3 | QCoreApplication: add more information to processEvents() docs | dev | qt/qtbase | Status: MERGED | +2 | 0 |
322802,2 | QCoreApplication: add more information to processEvents() docs | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |