It appears that the introduction of the KeyRelease event type check in
commit
70cc5c9b7b420ecaf099d5d08fb1b4e8ad81a920 was accidential and meant
to use MouseButtonRelease (in QSGTextInputPrivate::sendMouseEventToInputContext).
This patch also removes the unnecessary QEvent::MouseMove check as well as
the mousePos = -1 setting if the position is out of range. The input methods
do the same check and reset() accordingly anyway.
Change-Id: Icf3638979583d97c066cb639f80fa11f44538d7c
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
bool QQuickTextInputPrivate::sendMouseEventToInputContext(QMouseEvent *event)
{
#if !defined QT_NO_IM
- if (control->composeMode() && event->type() == QEvent::KeyRelease) {
+ if (control->composeMode() && event->type() == QEvent::MouseButtonRelease) {
int tmp_cursor = xToPos(event->localPos().x());
int mousePos = tmp_cursor - control->cursor();
- if (mousePos < 0 || mousePos > control->preeditAreaText().length()) {
- mousePos = -1;
- // don't send move events outside the preedit area
- if (event->type() == QEvent::MouseMove)
- return true;
- }
-
// may be causing reset() in some input methods
qApp->inputPanel()->invokeAction(QInputPanel::Click, mousePos);
if (!control->preeditAreaText().isEmpty())