diff options
author | Rafael Roquetto <rafael.roquetto@kdab.com> | 2012-01-30 19:18:58 (GMT) |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-31 10:51:46 (GMT) |
commit | 97b1aa8154d5cac485886982a48764bd847e53e1 (patch) | |
tree | 71ba4e3295aabcfb6512036686dab068995dbd1c /src/qt3support/tools/q3glist.cpp | |
parent | 17edd41c1e3bcb4743b5c6cee5ecd9e1a1cf09b4 (diff) | |
download | Qt-97b1aa8154d5cac485886982a48764bd847e53e1.zip Qt-97b1aa8154d5cac485886982a48764bd847e53e1.tar.gz Qt-97b1aa8154d5cac485886982a48764bd847e53e1.tar.bz2 |
Fixed QEventDispatcherQPA::processEvents()
QEventDispatcherQPA::processEvents() calls
QEventDispatcherUNIX::processEvents() twice in a row. Before the first call,
it processes gui, posted events, input events and so on. It then calls
QEventDispatcherUNIX::processEvents(), which will eventually drain the
thread_pipe. If events are added by a second thread to the event queue, right
after select() returns but before the thread_pipe is drained, once the program
enters the second call to QEventDispatcherUNIX::processEvent(), select() will
block, because the thread_pipe is empty, but the events will be stalled on the
queue until something else causes select to return, because they are not
handled between these two calls.
Change-Id: Ie9a74573559feff6480b630abc237a8e5c89484b
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Diffstat (limited to 'src/qt3support/tools/q3glist.cpp')
0 files changed, 0 insertions, 0 deletions