Cleaned up position tracking in the Symbian input methods.
authoraxis <qt-info@nokia.com>
Tue, 31 Aug 2010 11:15:28 +0000 (13:15 +0200)
committeraxis <qt-info@nokia.com>
Mon, 6 Sep 2010 08:29:36 +0000 (10:29 +0200)
commita2e2d2207d3b7f164ba9c9c7fa776e10bb7bc168
treef52c5f44adf9e993f6ec36c7c829fe59437bd5ff
parent5eba3f8f449256ace5aa70ab004a63f3e5d79d7a
Cleaned up position tracking in the Symbian input methods.

This fixed a case where using password mode would lead to Qt
believing that the cursor was one step to the left of where it really
was. This would have the effect of replacing the last character
instead of appending to it, and even crashing if the cursor was all
the way to the left.

The code is also much cleaner this way, but it meant that QTBUG-9867
had to be solved differently this time. We do this by assuming that
and empty FEP update means "erase last character", which seems to
work well in practice.

Also added a long overdue autotest for the FEP input methods. Most
tests pass, but some don't, which I will try to fix later.

Task:     QTBUG-9867
Task:     QTBUG-12949
RevBy:    Miikka Heikkinen
AutoTest: Included
(cherry picked from commit 52cf47565e402dc682038ccaf8d725401802b603)
src/gui/inputmethod/qcoefepinputcontext_p.h
src/gui/inputmethod/qcoefepinputcontext_s60.cpp
src/gui/kernel/qt_s60_p.h
tests/auto/qinputcontext/qinputcontext.pro
tests/auto/qinputcontext/tst_qinputcontext.cpp