Move XCB event reading to a separate thread.
authorSamuel Rødal <samuel.rodal@nokia.com>
Thu, 25 Aug 2011 11:39:07 +0000 (13:39 +0200)
committerLars Knoll <lars.knoll@nokia.com>
Fri, 26 Aug 2011 07:19:01 +0000 (09:19 +0200)
commit794c81c1eab54cb58f2143ab3efc90e9c4bf9092
tree75a2f9b0bcd886ed9bf8c9e10123ca2d449b8a4a
parent7b686abdd5bedcb32b5dbd19655df2e43f6242fd
Move XCB event reading to a separate thread.

Work-around for bug in XCB which causes a xcb_wait_for_reply to block
if xcb_poll_for_events() is called simultaneously from a different
thread. If the XCB version is too old this work-around causes even
more problems, so we kill two birds with one stone by only using the
work-around if the XCB version has the recent
xcb_poll_for_queue_event() function, which we also need to read
events from a separate thread with reasonable efficiency.

Change-Id: I8a899dad6ded381ce42cba0112e77da3c8aa6887
Reviewed-on: http://codereview.qt.nokia.com/3612
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
config.tests/qpa/xcb-poll-for-queued-event/xcb-poll-for-queued-event.cpp [new file with mode: 0644]
config.tests/qpa/xcb-poll-for-queued-event/xcb-poll-for-queued-event.pro [new file with mode: 0644]
configure
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbconnection.h
src/plugins/platforms/xcb/xcb.pro