From 487583459ea7958f24cd579888a662bcce26caf3 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Thu, 28 Jul 2011 14:51:54 +0200 Subject: Fix off-by-one error in binary search This one-line change makes the binary search in QTextEngine::findItem behave consistently with the linear search that it replaced in commit acf678e57ed088f3e56a551cac6c7c3322005750. The new behavior seems to cause crashes in kword (and perhaps other applications) by triggering a logClusters assert, although I have been unable to create a unit test that reproduces this. Task-number: QTBUG-17209 Done-by: Dr. Robert Marmorstein Change-Id: I68b79f024e9836e1cc8b0f3514889120541eb2ea Reviewed-on: http://codereview.qt.nokia.com/2343 Reviewed-by: Qt Sanity Bot Reviewed-by: Jiang Jiang --- src/gui/text/qtextengine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 41ea56a23a..cca30e6e20 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1632,7 +1632,7 @@ bool QTextEngine::isRightToLeft() const int QTextEngine::findItem(int strPos) const { itemize(); - int left = 0; + int left = 1; int right = layoutData->items.size()-1; while(left <= right) { int middle = ((right-left)/2)+left; -- cgit v1.2.3