diff options
author | Raph Levien <raph@google.com> | 2014-06-12 16:45:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-06-11 21:23:31 +0000 |
commit | 92207c3e831ce4214f60137da9430a1ce65351c0 (patch) | |
tree | f1c2f26efc17e634f245d518b7675ba9731c9eef /libs/minikin | |
parent | 9f9f3b1ef40f7358dca6acd9dfef686cedefb6aa (diff) | |
parent | bd36ec766a451c62ffdd407d5ce1a355e8f7dfd8 (diff) | |
download | android_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.tar.gz android_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.tar.bz2 android_frameworks_minikin-92207c3e831ce4214f60137da9430a1ce65351c0.zip |
Merge "Fix missing text on nonexistent font file"
Diffstat (limited to 'libs/minikin')
-rw-r--r-- | libs/minikin/FontCollection.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/minikin/FontCollection.cpp b/libs/minikin/FontCollection.cpp index 6115ecc..45e5d06 100644 --- a/libs/minikin/FontCollection.cpp +++ b/libs/minikin/FontCollection.cpp @@ -46,12 +46,6 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) : const FontStyle defaultStyle; for (size_t i = 0; i < nTypefaces; i++) { FontFamily* family = typefaces[i]; - family->RefLocked(); - FontInstance dummy; - mInstances.push_back(dummy); // emplace_back would be better - FontInstance* instance = &mInstances.back(); - instance->mFamily = family; - instance->mCoverage = new SparseBitSet; MinikinFont* typeface = family->getClosestMatch(defaultStyle).font; if (typeface == NULL) { ALOGE("FontCollection: closest match was null"); @@ -59,6 +53,12 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) : // checks upstream to prevent empty/invalid FontFamily objects continue; } + family->RefLocked(); + FontInstance dummy; + mInstances.push_back(dummy); // emplace_back would be better + FontInstance* instance = &mInstances.back(); + instance->mFamily = family; + instance->mCoverage = new SparseBitSet; #ifdef VERBOSE_DEBUG ALOGD("closest match = %p, family size = %d\n", typeface, family->getNumFonts()); #endif @@ -75,6 +75,7 @@ FontCollection::FontCollection(const vector<FontFamily*>& typefaces) : mMaxChar = max(mMaxChar, instance->mCoverage->length()); lastChar.push_back(instance->mCoverage->nextSetBit(0)); } + nTypefaces = mInstances.size(); size_t nPages = (mMaxChar + kPageMask) >> kLogCharsPerPage; size_t offset = 0; for (size_t i = 0; i < nPages; i++) { |