summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cfdf_document.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cfdf_document.cpp')
-rw-r--r--core/fpdfapi/fpdf_parser/cfdf_document.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/fpdfapi/fpdf_parser/cfdf_document.cpp b/core/fpdfapi/fpdf_parser/cfdf_document.cpp
index c602f634ad..128c513c60 100644
--- a/core/fpdfapi/fpdf_parser/cfdf_document.cpp
+++ b/core/fpdfapi/fpdf_parser/cfdf_document.cpp
@@ -14,18 +14,21 @@ CFDF_Document::CFDF_Document()
: CPDF_IndirectObjectHolder(),
m_pRootDict(nullptr),
m_pFile(nullptr),
- m_bOwnFile(FALSE) {}
+ m_bOwnFile(FALSE),
+ m_pByteStringPool(WrapUnique(new CFX_ByteStringPool)) {}
CFDF_Document::~CFDF_Document() {
if (m_bOwnFile && m_pFile)
m_pFile->Release();
+ m_pByteStringPool.Clear(); // Make weak.
}
CFDF_Document* CFDF_Document::CreateNewDoc() {
CFDF_Document* pDoc = new CFDF_Document;
- pDoc->m_pRootDict = new CPDF_Dictionary;
+ pDoc->m_pRootDict = new CPDF_Dictionary(pDoc->GetByteStringPool());
pDoc->AddIndirectObject(pDoc->m_pRootDict);
- pDoc->m_pRootDict->SetFor("FDF", new CPDF_Dictionary);
+ pDoc->m_pRootDict->SetFor("FDF",
+ new CPDF_Dictionary(pDoc->GetByteStringPool()));
return pDoc;
}