From b327374e1be9171551a5545ed2ab87e79a36ed7a Mon Sep 17 00:00:00 2001 From: Russell Brenner Date: Fri, 16 Mar 2012 15:28:13 -0700 Subject: Fix selection positioning for RTL languages Logic error prevented placement of the cursor at the left edge of an RTL sequence. Bug: 5041179 Change-Id: I091f1d8ae546890b6a6be50f729b662742ca2221 --- Source/WebCore/platform/graphics/android/FontAndroid.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/WebCore/platform/graphics') diff --git a/Source/WebCore/platform/graphics/android/FontAndroid.cpp b/Source/WebCore/platform/graphics/android/FontAndroid.cpp index ef7740c..6ae839b 100644 --- a/Source/WebCore/platform/graphics/android/FontAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/FontAndroid.cpp @@ -1003,14 +1003,14 @@ FloatRect Font::selectionRectForComplexText(const TextRun& run, int glyph = walker.logClusters()[from]; fromX = base + walker.positions()[glyph].x(); fromAdvance = walker.advances()[glyph]; - } else + } else if (!walker.rtl()) from -= numCodePoints; if (toX == -1 && to < numCodePoints) { int glyph = walker.logClusters()[to]; toX = base + walker.positions()[glyph].x(); toAdvance = walker.advances()[glyph]; - } else + } else if (!walker.rtl()) to -= numCodePoints; if (!walker.rtl()) -- cgit v1.1