summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qinputmethod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qinputmethod.cpp')
-rw-r--r--src/gui/kernel/qinputmethod.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/gui/kernel/qinputmethod.cpp b/src/gui/kernel/qinputmethod.cpp
index c443a47cac..0e0bc7237a 100644
--- a/src/gui/kernel/qinputmethod.cpp
+++ b/src/gui/kernel/qinputmethod.cpp
@@ -97,12 +97,7 @@ QObject *QInputMethod::inputItem() const
void QInputMethod::setInputItem(QObject *inputItem)
{
Q_D(QInputMethod);
-
- if (d->inputItem.data() == inputItem)
- return;
-
- d->inputItem = inputItem;
- emit inputItemChanged();
+ d->setInputItem(inputItem);
}
/*!
@@ -112,7 +107,7 @@ void QInputMethod::setInputItem(QObject *inputItem)
*/
QWindow *QInputMethod::inputWindow() const
{
- return qApp->activeWindow();
+ return qApp->focusWindow();
}
/*!
@@ -299,7 +294,7 @@ void QInputMethod::update(Qt::InputMethodQueries queries)
if (queries & Qt::ImEnabled) {
QObject *focus = qApp->focusObject();
bool enabled = d->objectAcceptsInputMethod(focus);
- setInputItem(enabled ? focus : 0);
+ d->setInputItem(enabled ? focus : 0);
QPlatformInputContextPrivate::setInputMethodAccepted(enabled);
}
@@ -365,9 +360,8 @@ void QInputMethodPrivate::q_connectFocusObject()
void QInputMethodPrivate::q_checkFocusObject(QObject *object)
{
- Q_Q(QInputMethod);
bool enabled = objectAcceptsInputMethod(object);
- q->setInputItem(enabled ? object : 0);
+ setInputItem(enabled ? object : 0);
}
bool QInputMethodPrivate::objectAcceptsInputMethod(QObject *object)