From ef9a86db5615a438c72a78745a8e558e687bf829 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Thu, 23 Feb 2012 15:02:23 +1000 Subject: Fix rounding error in QInputMethod::cursorRectangle(). Use QRectF consistently to avoid the rounding done in the conversion to QRect. Task-number: QTBUG-24463 Change-Id: If9ea858ebabf8c449ea058b9d379d4a57cb6c82d Reviewed-by: Joona Petrell --- tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp index 2ca921b557..c906ebaabe 100644 --- a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp +++ b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp @@ -50,7 +50,7 @@ class InputItem : public QObject { Q_OBJECT public: - InputItem() : m_enabled(true) {} + InputItem() : cursorRectangle(1, 2, 3, 4), m_enabled(true) {} bool event(QEvent *event) { @@ -59,7 +59,7 @@ public: if (query->queries() & Qt::ImEnabled) query->setValue(Qt::ImEnabled, m_enabled); if (query->queries() & Qt::ImCursorRectangle) - query->setValue(Qt::ImCursorRectangle, QRectF(1, 2, 3, 4)); + query->setValue(Qt::ImCursorRectangle, cursorRectangle); if (query->queries() & Qt::ImPreferredLanguage) query->setValue(Qt::ImPreferredLanguage, QString("English")); m_lastQueries = query->queries(); @@ -76,6 +76,7 @@ public: } } + QRectF cursorRectangle; Qt::InputMethodQueries m_lastQueries; bool m_enabled; }; @@ -226,7 +227,11 @@ void tst_qinputmethod::cursorRectangle() QCOMPARE(qApp->inputMethod()->cursorRectangle(), transform.mapRect(QRectF(1, 2, 3, 4))); + m_inputItem.cursorRectangle = QRectF(1.5, 2, 1, 8); + QCOMPARE(qApp->inputMethod()->cursorRectangle(), transform.mapRect(QRectF(1.5, 2, 1, 8))); + // reset + m_inputItem.cursorRectangle = QRectF(1, 2, 3, 4); qApp->inputMethod()->setInputItemTransform(QTransform()); } -- cgit v1.2.3