From 32218c3243fb4f0da83293c5bd6a663d8e3660ee Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Thu, 28 Sep 2017 10:21:49 +0200 Subject: Make input method events work in QQuickWidget In change 0dbc575c1a8359534761167a5f5f1e29abedd51d, we removed the focusObject() reimplementation. However QWindow does not handle input method events: it relies on the IM sending events directly to the focus object. Task-number: QTBUG-61679 Change-Id: Ib79fbd7aa58a901a774ad97e9a17071f9c042480 Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Laszlo Agocs --- src/quickwidgets/qquickwidget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/quickwidgets') diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index c23d11ed20..5aff0ee393 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -1391,8 +1391,6 @@ bool QQuickWidget::event(QEvent *e) Q_D(QQuickWidget); switch (e->type()) { - case QEvent::InputMethod: - case QEvent::InputMethodQuery: case QEvent::TouchBegin: case QEvent::TouchEnd: @@ -1401,6 +1399,10 @@ bool QQuickWidget::event(QEvent *e) // Touch events only have local and global positions, no need to map. return QCoreApplication::sendEvent(d->offscreenWindow, e); + case QEvent::InputMethod: + case QEvent::InputMethodQuery: + return QCoreApplication::sendEvent(d->offscreenWindow->focusObject(), e); + case QEvent::WindowChangeInternal: d->handleWindowChange(); break; -- cgit v1.2.3