diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-02-10 17:30:51 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-02-10 17:30:51 (GMT) |
commit | 03b79ca3fda15df214c68ee945ac56000a404d99 (patch) | |
tree | 2ddef432db48c21cbc3220a9d01390e6dfd4e756 /src/plugins | |
parent | 51b657a032cb0b9b3c4c7dbfab52c148cf9253af (diff) | |
download | Qt-03b79ca3fda15df214c68ee945ac56000a404d99.zip Qt-03b79ca3fda15df214c68ee945ac56000a404d99.tar.gz Qt-03b79ca3fda15df214c68ee945ac56000a404d99.tar.bz2 |
Added warnings for unhandled XCB events.
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index eafd83a..3018f56 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -124,6 +124,51 @@ break; } \ break; +void unhandledXcbEventError(xcb_generic_event_t *event) +{ +#define UNHANDLED_XCB_EVENT(event) \ + case event: \ + printf("Unhandled XCB event: %d - %s\n", event, #event); \ + break; + + switch (event->response_type & ~0x80) { + UNHANDLED_XCB_EVENT(XCB_KEY_PRESS); + UNHANDLED_XCB_EVENT(XCB_KEY_RELEASE); + UNHANDLED_XCB_EVENT(XCB_BUTTON_PRESS); + UNHANDLED_XCB_EVENT(XCB_BUTTON_RELEASE); + UNHANDLED_XCB_EVENT(XCB_MOTION_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_ENTER_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_LEAVE_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_FOCUS_IN); + UNHANDLED_XCB_EVENT(XCB_FOCUS_OUT); + UNHANDLED_XCB_EVENT(XCB_KEYMAP_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_EXPOSE); + UNHANDLED_XCB_EVENT(XCB_GRAPHICS_EXPOSURE); + UNHANDLED_XCB_EVENT(XCB_VISIBILITY_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_CREATE_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_DESTROY_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_UNMAP_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_MAP_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_MAP_REQUEST); + UNHANDLED_XCB_EVENT(XCB_REPARENT_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_CONFIGURE_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_CONFIGURE_REQUEST); + UNHANDLED_XCB_EVENT(XCB_GRAVITY_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_RESIZE_REQUEST); + UNHANDLED_XCB_EVENT(XCB_CIRCULATE_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_CIRCULATE_REQUEST); + UNHANDLED_XCB_EVENT(XCB_PROPERTY_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_SELECTION_CLEAR); + UNHANDLED_XCB_EVENT(XCB_SELECTION_REQUEST); + UNHANDLED_XCB_EVENT(XCB_SELECTION_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_COLORMAP_NOTIFY); + UNHANDLED_XCB_EVENT(XCB_CLIENT_MESSAGE); + UNHANDLED_XCB_EVENT(XCB_MAPPING_NOTIFY); + default: + printf("Unhandled XCB event: %d - %s\n", event->response_type, "unknown"); + } +} + void QXcbConnection::eventDispatcher() { while (xcb_generic_event_t *event = xcb_poll_for_event(xcb_connection())) { @@ -156,6 +201,7 @@ void QXcbConnection::eventDispatcher() m_keyboard->handleMappingNotifyEvent((xcb_mapping_notify_event_t *)event); break; default: + unhandledXcbEventError(event); break; } } |