Fix crash during cursor moving on BiDi text
The crash was introduced by Ib66ef392c19c937718e7101f6d48fac3abe51ad0 The root cause of the crashing is requesting out-of-line access for the horizontal width. This invalid access is silently ignored by TextLine#measure() method but new implementation end up with out of bounds access. To makes behavior as old implementation, calling getHorizontal instead of accessing measured result array. Bug: 111580019 Test: Manually done Change-Id: I5c5778718f6b397adbb1e4f2cf95e9f635f6e5c8 Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
This commit is contained in:
@@ -1348,7 +1348,8 @@ public abstract class Layout {
|
||||
}
|
||||
|
||||
float get(final int offset) {
|
||||
if (mHorizontals == null) {
|
||||
if (mHorizontals == null || offset < mLineStartOffset
|
||||
|| offset >= mLineStartOffset + mHorizontals.length) {
|
||||
return getPrimaryHorizontal(offset);
|
||||
} else {
|
||||
return mHorizontals[offset - mLineStartOffset];
|
||||
|
||||
Reference in New Issue
Block a user