summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qinputcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qinputcontext.cpp')
-rw-r--r--src/widgets/kernel/qinputcontext.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/widgets/kernel/qinputcontext.cpp b/src/widgets/kernel/qinputcontext.cpp
index 7c16234cdd..5bc37568be 100644
--- a/src/widgets/kernel/qinputcontext.cpp
+++ b/src/widgets/kernel/qinputcontext.cpp
@@ -172,7 +172,13 @@ QInputContext::~QInputContext()
*/
QWidget *QInputContext::focusWidget() const
{
- return qobject_cast<QWidget *>(qApp->inputPanel()->inputItem());
+ bool enabled = false;
+ if (qApp->focusWidget()) {
+ QInputMethodQueryEvent query(Qt::ImEnabled);
+ QGuiApplication::sendEvent(qApp->focusWidget(), &query);
+ enabled = query.value(Qt::ImEnabled).toBool();
+ }
+ return enabled ? qobject_cast<QWidget *>(qApp->focusWidget()) : 0;
}
@@ -186,7 +192,7 @@ QWidget *QInputContext::focusWidget() const
*/
void QInputContext::setFocusWidget(QWidget *widget)
{
- qApp->inputPanel()->setInputItem(widget);
+ // not honored
}
/*!