diff options
author | Joona Petrell <joona.t.petrell@nokia.com> | 2011-09-12 21:20:00 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-14 21:30:26 +0200 |
commit | 5926e4041acd3ca43acc54a28548e577d2f5cede (patch) | |
tree | 6287f82f33f1267ca9d95d164d967620e1d97612 /src/plugins | |
parent | 2aaa8a28d433a79dc4f53497f6fc1fea26d37629 (diff) |
Fix warnings received when xcb platform is ran without ibus platforminputcontext
Warnings like
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
QMetaObject::invokeMethod: No such method PlatformInputContext::x11FilterEvent(uint,uint,uint,bool)
Ibus is not always available and QPlatformInputContextFactory is allowed to load different input methods.
Change-Id: Id498a5e024e6646e73ed4db2efe5b007e6601698
Reviewed-on: http://codereview.qt-project.org/4738
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbkeyboard.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.cpp b/src/plugins/platforms/xcb/qxcbkeyboard.cpp index 907dd0f1b6..cb65a5106e 100644 --- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp +++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp @@ -1029,13 +1029,14 @@ void QXcbKeyboard::handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycod if (QObject* inputContext = QGuiApplicationPrivate::platformIntegration()->inputContext()) { - bool retval; - QMetaObject::invokeMethod(inputContext, "x11FilterEvent", Qt::DirectConnection, - Q_RETURN_ARG(bool, retval), - Q_ARG(uint, sym), - Q_ARG(uint, code), - Q_ARG(uint, state), - Q_ARG(bool, type == QEvent::KeyPress)); + bool retval = false; + if (inputContext->metaObject()->indexOfMethod("x11FilterEvent") != -1) + QMetaObject::invokeMethod(inputContext, "x11FilterEvent", Qt::DirectConnection, + Q_RETURN_ARG(bool, retval), + Q_ARG(uint, sym), + Q_ARG(uint, code), + Q_ARG(uint, state), + Q_ARG(bool, type == QEvent::KeyPress)); if (retval) return; } |