summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2011-03-16 09:45:16 (GMT)
committerSamuel Rødal <samuel.rodal@nokia.com>2011-03-17 11:04:40 (GMT)
commit58548add6d3ff7c09db0573abdba4d006a10bad1 (patch)
treefc7ed7bd6fae178a4cb42d87bf5a42b8e2ca2c10 /src
parenteceeb831ea81f944210c039abdb8db146675e673 (diff)
downloadQt-58548add6d3ff7c09db0573abdba4d006a10bad1.zip
Qt-58548add6d3ff7c09db0573abdba4d006a10bad1.tar.gz
Qt-58548add6d3ff7c09db0573abdba4d006a10bad1.tar.bz2
Don't skip remaining events on unhandled events in xcb backend.
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index 5a6bef7..de3f926 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -216,6 +216,7 @@ void printXcbEvent(const char *message, xcb_generic_event_t *event)
void QXcbConnection::eventDispatcher()
{
while (xcb_generic_event_t *event = xcb_poll_for_event(xcb_connection())) {
+ bool handled = true;
switch (event->response_type & ~0x80) {
case XCB_EXPOSE:
HANDLE_PLATFORM_WINDOW_EVENT(xcb_expose_event_t, window, handleExposeEvent);
@@ -245,10 +246,13 @@ void QXcbConnection::eventDispatcher()
m_keyboard->handleMappingNotifyEvent((xcb_mapping_notify_event_t *)event);
break;
default:
- printXcbEvent("Unhandled XCB event", event);
+ handled = false;
return;
}
- printXcbEvent("Handled XCB event", event);
+ if (handled)
+ printXcbEvent("Handled XCB event", event);
+ else
+ printXcbEvent("Unhandled XCB event", event);
}
}