| Index: core/fpdfapi/parser/cpdf_string.cpp
|
| diff --git a/core/fpdfapi/parser/cpdf_string.cpp b/core/fpdfapi/parser/cpdf_string.cpp
|
| index 2116c200fe880fc8baf0b3cf43171ec82e41c4fc..fd4ff04ff747eec3e2de322db174de3cc9b09c2b 100644
|
| --- a/core/fpdfapi/parser/cpdf_string.cpp
|
| +++ b/core/fpdfapi/parser/cpdf_string.cpp
|
| @@ -11,8 +11,13 @@
|
|
|
| CPDF_String::CPDF_String() : m_bHex(false) {}
|
|
|
| -CPDF_String::CPDF_String(const CFX_ByteString& str, bool bHex)
|
| - : m_String(str), m_bHex(bHex) {}
|
| +CPDF_String::CPDF_String(CFX_WeakPtr<CFX_ByteStringPool> pPool,
|
| + const CFX_ByteString& str,
|
| + bool bHex)
|
| + : m_String(str), m_bHex(bHex) {
|
| + if (pPool)
|
| + m_String = pPool->Intern(m_String);
|
| +}
|
|
|
| CPDF_String::CPDF_String(const CFX_WideString& str) : m_bHex(false) {
|
| m_String = PDF_EncodeText(str);
|
| @@ -25,7 +30,10 @@ CPDF_Object::Type CPDF_String::GetType() const {
|
| }
|
|
|
| std::unique_ptr<CPDF_Object> CPDF_String::Clone() const {
|
| - return pdfium::MakeUnique<CPDF_String>(m_String, m_bHex);
|
| + auto pRet = pdfium::MakeUnique<CPDF_String>();
|
| + pRet->m_String = m_String;
|
| + pRet->m_bHex = m_bHex;
|
| + return std::move(pRet);
|
| }
|
|
|
| CFX_ByteString CPDF_String::GetString() const {
|
|
|