From 81351f2c6f9a939e4c34cb3be6280d396c21941f 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 --- 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