Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a930e6e7 authored by Seigo Nonaka's avatar Seigo Nonaka
Browse files

don't compute outside of visible range

Bug: 140632678
Test: manually done
Test: TreeHugger
Change-Id: I646851973b3816bf9ba32dfe26748c0345a5a081
parent e99edb8a
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -276,6 +276,7 @@ public class TextLine {
        final int runCount = mDirections.getRunCount();
        final int runCount = mDirections.getRunCount();
        for (int runIndex = 0; runIndex < runCount; runIndex++) {
        for (int runIndex = 0; runIndex < runCount; runIndex++) {
            final int runStart = mDirections.getRunStart(runIndex);
            final int runStart = mDirections.getRunStart(runIndex);
            if (runStart >= mLen) break;
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);


@@ -360,6 +361,7 @@ public class TextLine {
        float h = 0;
        float h = 0;
        for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) {
        for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) {
            final int runStart = mDirections.getRunStart(runIndex);
            final int runStart = mDirections.getRunStart(runIndex);
            if (runStart >= mLen) break;
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);


@@ -417,6 +419,7 @@ public class TextLine {
        float h = 0;
        float h = 0;
        for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) {
        for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) {
            final int runStart = mDirections.getRunStart(runIndex);
            final int runStart = mDirections.getRunStart(runIndex);
            if (runStart > mLen) break;
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);
            final boolean runIsRtl = mDirections.isRunRtl(runIndex);