diff options
author | Andreas Gampe <agampe@google.com> | 2014-12-04 20:44:11 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-12-04 20:44:11 +0000 |
commit | da09490825ce49e103d511ec1b92c79df0923ada (patch) | |
tree | 68422bb0bbacc09a2d7336d2bbeba73a20d17f30 /libs/minikin | |
parent | 2d7821158c259a2581140c580f444c0368da6a47 (diff) | |
parent | 919fbb99f1d5d0c95bf165cec9b7b178b42908ec (diff) | |
download | android_frameworks_minikin-da09490825ce49e103d511ec1b92c79df0923ada.tar.gz android_frameworks_minikin-da09490825ce49e103d511ec1b92c79df0923ada.tar.bz2 android_frameworks_minikin-da09490825ce49e103d511ec1b92c79df0923ada.zip |
am 919fbb99: am cb20a2f0: Minikin: Remove unused variables, fix init order
* commit '919fbb99f1d5d0c95bf165cec9b7b178b42908ec':
Minikin: Remove unused variables, fix init order
Diffstat (limited to 'libs/minikin')
-rw-r--r-- | libs/minikin/FontCollection.cpp | 6 | ||||
-rw-r--r-- | libs/minikin/FontFamily.cpp | 14 | ||||
-rw-r--r-- | libs/minikin/Layout.cpp | 6 | ||||
-rw-r--r-- | libs/minikin/MinikinFontFreeType.cpp | 2 |
4 files changed, 20 insertions, 8 deletions
diff --git a/libs/minikin/FontCollection.cpp b/libs/minikin/FontCollection.cpp index 7b6b950..e3911c5 100644 --- a/libs/minikin/FontCollection.cpp +++ b/libs/minikin/FontCollection.cpp @@ -53,8 +53,12 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) : continue; } family->RefLocked(); - mFamilies.push_back(family); // emplace_back would be better const SparseBitSet* coverage = family->getCoverage(); + if (coverage == nullptr) { + family->UnrefLocked(); + continue; + } + mFamilies.push_back(family); // emplace_back would be better mMaxChar = max(mMaxChar, coverage->length()); lastChar.push_back(coverage->nextSetBit(0)); } diff --git a/libs/minikin/FontFamily.cpp b/libs/minikin/FontFamily.cpp index d2e5867..da7320b 100644 --- a/libs/minikin/FontFamily.cpp +++ b/libs/minikin/FontFamily.cpp @@ -191,10 +191,18 @@ const SparseBitSet* FontFamily::getCoverage() { MinikinFont* typeface = getClosestMatch(defaultStyle).font; const uint32_t cmapTag = MinikinFont::MakeTag('c', 'm', 'a', 'p'); size_t cmapSize = 0; - bool ok = typeface->GetTable(cmapTag, NULL, &cmapSize); + if (!typeface->GetTable(cmapTag, NULL, &cmapSize)) { + ALOGE("Could not get cmap table size!\n"); + // Note: This means we will retry on the next call to getCoverage, as we can't store + // the failure. This is fine, as we assume this doesn't really happen in practice. + return nullptr; + } UniquePtr<uint8_t[]> cmapData(new uint8_t[cmapSize]); - ok = typeface->GetTable(cmapTag, cmapData.get(), &cmapSize); - CmapCoverage::getCoverage(mCoverage, cmapData.get(), cmapSize); + if (!typeface->GetTable(cmapTag, cmapData.get(), &cmapSize)) { + ALOGE("Unexpected failure to read cmap table!\n"); + return nullptr; + } + CmapCoverage::getCoverage(mCoverage, cmapData.get(), cmapSize); // TODO: Error check? #ifdef VERBOSE_DEBUG ALOGD("font coverage length=%d, first ch=%x\n", mCoverage->length(), mCoverage->nextSetBit(0)); diff --git a/libs/minikin/Layout.cpp b/libs/minikin/Layout.cpp index 7479547..344766a 100644 --- a/libs/minikin/Layout.cpp +++ b/libs/minikin/Layout.cpp @@ -77,11 +77,11 @@ class LayoutCacheKey { public: LayoutCacheKey(const FontCollection* collection, const MinikinPaint& paint, FontStyle style, const uint16_t* chars, size_t start, size_t count, size_t nchars, bool dir) - : mStart(start), mCount(count), mId(collection->getId()), mStyle(style), + : mChars(chars), mNchars(nchars), + mStart(start), mCount(count), mId(collection->getId()), mStyle(style), mSize(paint.size), mScaleX(paint.scaleX), mSkewX(paint.skewX), mLetterSpacing(paint.letterSpacing), - mPaintFlags(paint.paintFlags), mIsRtl(dir), - mChars(chars), mNchars(nchars) { + mPaintFlags(paint.paintFlags), mIsRtl(dir) { } bool operator==(const LayoutCacheKey &other) const; hash_t hash() const; diff --git a/libs/minikin/MinikinFontFreeType.cpp b/libs/minikin/MinikinFontFreeType.cpp index a251dda..972f3f1 100644 --- a/libs/minikin/MinikinFontFreeType.cpp +++ b/libs/minikin/MinikinFontFreeType.cpp @@ -49,7 +49,7 @@ float MinikinFontFreeType::GetHorizontalAdvance(uint32_t glyph_id, FT_Set_Pixel_Sizes(mTypeface, 0, paint.size); FT_UInt32 flags = FT_LOAD_DEFAULT; // TODO: respect hinting settings FT_Fixed advance; - FT_Error error = FT_Get_Advance(mTypeface, glyph_id, flags, &advance); + FT_Get_Advance(mTypeface, glyph_id, flags, &advance); return advance * (1.0 / 65536); } |