From 8726aff8cf57aeccacff60cf0e5fb4a7330994c4 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 29 Jun 2015 14:21:10 -0700 Subject: [PATCH] Fix logspam and incorrect cluster offset An incorrect cluster offset calculation was causing a lot of log messages to appear. Separately, a confusion between #if and #ifdef was causing unintended logging of line breaks. This patch fixes both. Bug: 22178333 Change-Id: I2b3673ed66c784f5082fd127a8dc10bd3df6ed79 --- engine/src/flutter/libs/minikin/Layout.cpp | 2 +- engine/src/flutter/libs/minikin/LineBreaker.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/src/flutter/libs/minikin/Layout.cpp b/engine/src/flutter/libs/minikin/Layout.cpp index 0c8c4ca79e0..bac5fc77439 100644 --- a/engine/src/flutter/libs/minikin/Layout.cpp +++ b/engine/src/flutter/libs/minikin/Layout.cpp @@ -757,7 +757,7 @@ void Layout::doLayoutRun(const uint16_t* buf, size_t start, size_t count, size_t if (ctx->paint.hyphenEdit.hasHyphen() && srunend > srunstart) { // TODO: check whether this is really the desired semantics. It could have the // effect of assigning the hyphen width to a nonspacing mark - unsigned int lastCluster = srunend - 1; + unsigned int lastCluster = start + srunend - 1; hb_codepoint_t hyphenChar = 0x2010; // HYPHEN hb_codepoint_t glyph; diff --git a/engine/src/flutter/libs/minikin/LineBreaker.cpp b/engine/src/flutter/libs/minikin/LineBreaker.cpp index 162d14b8af7..baf2dfa4125 100644 --- a/engine/src/flutter/libs/minikin/LineBreaker.cpp +++ b/engine/src/flutter/libs/minikin/LineBreaker.cpp @@ -383,7 +383,7 @@ void LineBreaker::computeBreaksOptimal(bool isRectangle) { mCandidates[i].score = best + mCandidates[i].penalty + mLinePenalty; mCandidates[i].prev = bestPrev; mCandidates[i].lineNumber = mCandidates[bestPrev].lineNumber + 1; -#ifdef VERBOSE_DEBUG +#if VERBOSE_DEBUG ALOGD("break %d: score=%g, prev=%d", i, mCandidates[i].score, mCandidates[i].prev); #endif }