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

Commit 3bd60c7b authored by Raph Levien's avatar Raph Levien
Browse files

Clear all StaticLayout.Builder fields on pool recycle

When returning a StaticLayout.Builder object to the pool, it is
important to clear everything out. If not, then the object may have
stale state from a previous layout operation. This was causing CTS
test failures and probably other mischief.

Bug: 20636917
Change-Id: I76fb20076ee954fcb476131a8fbe8833d72fbc0d
parent cf1f2ea5
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -91,6 +91,7 @@ public class StaticLayout extends Layout {
            b.mEllipsizedWidth = width;
            b.mEllipsize = null;
            b.mMaxLines = Integer.MAX_VALUE;
            b.mBreakStrategy = Layout.BREAK_STRATEGY_SIMPLE;

            b.mMeasuredText = MeasuredText.obtain();
            return b;
@@ -100,6 +101,8 @@ public class StaticLayout extends Layout {
            b.mPaint = null;
            b.mText = null;
            MeasuredText.recycle(b.mMeasuredText);
            b.mMeasuredText = null;
            nFinishBuilder(b.mNativePtr);
            sPool.release(b);
        }