summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/compose
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@qt.io>2019-03-15 11:56:01 +0100
committerGatis Paeglis <gatis.paeglis@qt.io>2019-04-26 19:03:58 +0000
commitd6e65ecac5852ed09fbf580b3fab5b21125dfd69 (patch)
treee5816511eb100b30a3f603f2341d8b5e5de082b3 /src/plugins/platforminputcontexts/compose
parent902ae438aa7950fa6fec4823f80974e8bc8be8be (diff)
platforminputcontexts: future-proof compose plugin
If this plugin is loaded at some later point during application run-time, the focus object might be nullptr. We can avoid that by using qApp->focusObject(), when m_focusObject==nullptr; Task-number: QTBUG-74465 Change-Id: I0d82410ed557ea1a8fde28a1807f790854951cda Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/plugins/platforminputcontexts/compose')
-rw-r--r--src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp b/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
index 57fe7c2fa2..4e9828663f 100644
--- a/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
+++ b/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
@@ -40,6 +40,7 @@
#include <QtCore/QCoreApplication>
#include <QtGui/QKeyEvent>
+#include <QtGui/QGuiApplication>
#include <locale.h>
@@ -121,7 +122,14 @@ bool QComposeInputContext::filterEvent(const QEvent *event)
QInputMethodEvent event;
event.setCommitString(composedText);
- QCoreApplication::sendEvent(m_focusObject, &event);
+
+ if (!m_focusObject && qApp)
+ m_focusObject = qApp->focusObject();
+
+ if (m_focusObject)
+ QCoreApplication::sendEvent(m_focusObject, &event);
+ else
+ qCWarning(lcXkbCompose, "no focus object");
reset();
return true;