From 577b07197b1bf1b3903e0bc0f3d48fabfd927b2a Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Thu, 4 Oct 2012 23:15:12 -0700 Subject: Fix for 7281523 android.text.cts.SelectionTest#testMoveRight failures The failures were caused by the implementation of doTextRunCursor passing a too-small value for contextCount into the underlying getTextRunAdvances call (it wasn't accounting for the start offset). Thus, when getTextRunAdvances made a copy of the text for its cache key, it was getting a partial copy. This patch fixes the size so the cache key always has a full copy of the text. Change-Id: I57e3ac6de7aef0e1f1c7000dc3d653f9b0d623d2 --- core/jni/android/graphics/Paint.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp index 1f70c669df63..150caf3c5a95 100644 --- a/core/jni/android/graphics/Paint.cpp +++ b/core/jni/android/graphics/Paint.cpp @@ -629,7 +629,7 @@ public: jint count, jint flags, jint offset, jint opt) { jfloat scalarArray[count]; - TextLayout::getTextRunAdvances(paint, text, start, count, count, flags, + TextLayout::getTextRunAdvances(paint, text, start, count, start + count, flags, scalarArray, NULL /* dont need totalAdvance */); jint pos = offset - start; -- cgit v1.2.3-59-g8ed1b