From 879e8a3a479b2cedd05e652f082683a02aa57dcf Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Tue, 12 Apr 2016 15:27:17 -0700 Subject: Clear mLineWidths in LineBreaker::finish() There was the possibility of stale indents from previous invocations persisting in the mLineWidths across multiple invocations. This patch clears them. Bug: 28090810 Change-Id: I3621dfbe983512046289373711709aeade52eab4 --- include/minikin/LineBreaker.h | 3 +++ libs/minikin/LineBreaker.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/include/minikin/LineBreaker.h b/include/minikin/LineBreaker.h index e28f11d..1d81404 100644 --- a/include/minikin/LineBreaker.h +++ b/include/minikin/LineBreaker.h @@ -69,6 +69,9 @@ class LineWidths { } return width; } + void clear() { + mIndents.clear(); + } private: float mFirstWidth; int mFirstWidthLineCount; diff --git a/libs/minikin/LineBreaker.cpp b/libs/minikin/LineBreaker.cpp index 9c4ff6f..2a71f04 100644 --- a/libs/minikin/LineBreaker.cpp +++ b/libs/minikin/LineBreaker.cpp @@ -419,6 +419,7 @@ size_t LineBreaker::computeBreaks() { void LineBreaker::finish() { mWordBreaker.finish(); mWidth = 0; + mLineWidths.clear(); mCandidates.clear(); mBreaks.clear(); mWidths.clear(); -- cgit v1.2.3