From 5926e4041acd3ca43acc54a28548e577d2f5cede Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Mon, 12 Sep 2011 21:20:00 +0300 Subject: 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 Reviewed-by: Lars Knoll --- src/plugins/platforms/xcb/qxcbkeyboard.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/plugins') 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; } -- cgit v1.2.3