diff options
-rw-r--r-- | tools/aapt/StringPool.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/aapt/StringPool.cpp b/tools/aapt/StringPool.cpp index fe88e37c159f..7f137ce5be23 100644 --- a/tools/aapt/StringPool.cpp +++ b/tools/aapt/StringPool.cpp @@ -174,7 +174,9 @@ ssize_t StringPool::add(const String16& ident, const String16& value, } const bool first = vidx < 0; - if (first || !mergeDuplicates) { + const bool styled = (pos >= 0 && (size_t)pos < mEntryStyleArray.size()) ? + mEntryStyleArray[pos].spans.size() : 0; + if (first || styled || !mergeDuplicates) { pos = mEntryArray.add(eidx); if (first) { vidx = mValues.add(value, pos); |