From ec2738b658d25d9fd45cc46cbc19a30e4a39d499 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 17 Jan 2011 15:44:44 +0200 Subject: Fix one character displacement for cursor in line edits The variable m_inlinePosition was not updated when m_preeditString was cleared in QCoeFepInputContext. This resulted in cursor displaying up one character beyond where it logically should have been when using HW Qwerty keyboard on E7 and similar devices. Task-number: QTBUG-16238 Reviewed-by: axis (cherry picked from commit 81351f2c6f9a939e4c34cb3be6280d396c21941f) --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index ff199b1..1bef64d 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -706,6 +706,7 @@ void QCoeFepInputContext::CancelFepInlineEdit() QInputMethodEvent event(QLatin1String(""), attributes); event.setCommitString(QLatin1String(""), 0, 0); m_preeditString.clear(); + m_inlinePosition = 0; sendEvent(event); } @@ -853,6 +854,7 @@ void QCoeFepInputContext::commitCurrentString(bool cancelFepTransaction) QInputMethodEvent event(QLatin1String(""), attributes); event.setCommitString(m_preeditString, 0, 0); m_preeditString.clear(); + m_inlinePosition = 0; sendEvent(event); m_hasTempPreeditString = false; -- cgit v0.12