summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbintegration.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index 3053cba81e..e97b9f2121 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
@@ -99,10 +99,14 @@ QXcbIntegration::QXcbIntegration(const QStringList &parameters)
m_fontDatabase = new QGenericUnixFontDatabase();
m_nativeInterface = new QXcbNativeInterface;
-#if defined(XCB_USE_IBUS)
- m_inputContext = new QIBusPlatformInputContext;
-#else
m_inputContext = 0;
+#if defined(XCB_USE_IBUS)
+ QIBusPlatformInputContext *context = new QIBusPlatformInputContext;
+ if (context->isValid()) {
+ m_inputContext = context;
+ } else {
+ delete context;
+ }
#endif
}