diff options
Diffstat (limited to 'core/fpdfapi/fpdf_parser')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cfdf_document.cpp | 3 | ||||
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_document.cpp | 21 | ||||
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp | 2 | ||||
-rw-r--r-- | core/fpdfapi/fpdf_parser/include/cpdf_array.h | 3 | ||||
-rw-r--r-- | core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h | 5 |
5 files changed, 12 insertions, 22 deletions
diff --git a/core/fpdfapi/fpdf_parser/cfdf_document.cpp b/core/fpdfapi/fpdf_parser/cfdf_document.cpp index 92b20cafd8..c602f634ad 100644 --- a/core/fpdfapi/fpdf_parser/cfdf_document.cpp +++ b/core/fpdfapi/fpdf_parser/cfdf_document.cpp @@ -25,8 +25,7 @@ CFDF_Document* CFDF_Document::CreateNewDoc() { CFDF_Document* pDoc = new CFDF_Document; pDoc->m_pRootDict = new CPDF_Dictionary; pDoc->AddIndirectObject(pDoc->m_pRootDict); - CPDF_Dictionary* pFDFDict = new CPDF_Dictionary; - pDoc->m_pRootDict->SetFor("FDF", pFDFDict); + pDoc->m_pRootDict->SetFor("FDF", new CPDF_Dictionary); return pDoc; } diff --git a/core/fpdfapi/fpdf_parser/cpdf_document.cpp b/core/fpdfapi/fpdf_parser/cpdf_document.cpp index bd11ed26e6..1694566f1b 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_document.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_document.cpp @@ -689,13 +689,12 @@ void CPDF_Document::CreateNewDoc() { ASSERT(!m_pRootDict && !m_pInfoDict); m_pRootDict = new CPDF_Dictionary; m_pRootDict->SetNameFor("Type", "Catalog"); - int objnum = AddIndirectObject(m_pRootDict); + AddIndirectObject(m_pRootDict); CPDF_Dictionary* pPages = new CPDF_Dictionary; pPages->SetNameFor("Type", "Pages"); pPages->SetNumberFor("Count", 0); pPages->SetFor("Kids", new CPDF_Array); - objnum = AddIndirectObject(pPages); - m_pRootDict->SetReferenceFor("Pages", this, objnum); + m_pRootDict->SetReferenceFor("Pages", this, AddIndirectObject(pPages)); m_pInfoDict = new CPDF_Dictionary; AddIndirectObject(m_pInfoDict); } @@ -754,8 +753,9 @@ size_t CPDF_Document::CalculateEncodingDict(int charset, pArray->AddName(name.IsEmpty() ? ".notdef" : name); } pEncodingDict->SetFor("Differences", pArray); - AddIndirectObject(pEncodingDict); - pBaseDict->SetReferenceFor("Encoding", this, pEncodingDict); + pBaseDict->SetReferenceFor("Encoding", this, + AddIndirectObject(pEncodingDict)); + return i; } @@ -822,8 +822,7 @@ CPDF_Dictionary* CPDF_Document::ProcessbCJK( pFontDict->SetFor("CIDSystemInfo", pCIDSysInfo); CPDF_Array* pArray = new CPDF_Array; pBaseDict->SetFor("DescendantFonts", pArray); - AddIndirectObject(pFontDict); - pArray->AddReference(this, pFontDict); + pArray->AddReference(this, AddIndirectObject(pFontDict)); return pFontDict; } @@ -910,8 +909,8 @@ CPDF_Font* CPDF_Document::AddFont(CFX_Font* pFont, int charset, FX_BOOL bVert) { CPDF_Dictionary* pFontDesc = CalculateFontDesc(basefont, flags, italicangle, pFont->GetAscent(), pFont->GetDescent(), pBBox, nStemV); - AddIndirectObject(pFontDesc); - pFontDict->SetReferenceFor("FontDescriptor", this, pFontDesc); + pFontDict->SetReferenceFor("FontDescriptor", this, + AddIndirectObject(pFontDesc)); return LoadFont(pBaseDict); } @@ -1006,8 +1005,8 @@ CPDF_Font* CPDF_Document::AddWindowsFont(LOGFONTA* pLogFont, CalculateFontDesc(basefont, flags, italicangle, ascend, descend, pBBox, pLogFont->lfWeight / 5); pFontDesc->SetIntegerFor("CapHeight", capheight); - AddIndirectObject(pFontDesc); - pFontDict->SetReferenceFor("FontDescriptor", this, pFontDesc); + pFontDict->SetReferenceFor("FontDescriptor", this, + AddIndirectObject(pFontDesc)); hFont = SelectObject(hDC, hFont); DeleteObject(hFont); DeleteDC(hDC); diff --git a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp index cbfdf2b9ac..dad98cd28e 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp @@ -730,7 +730,7 @@ TEST(PDFArrayTest, AddReferenceAndGetObjectAt) { holder->ReplaceIndirectObjectIfHigherGeneration(obj_nums[i], indirect_objs[i]); arr->AddReference(holder.get(), obj_nums[i]); - arr1->AddReference(holder.get(), indirect_objs[i]); + arr1->AddReference(holder.get(), indirect_objs[i]->GetObjNum()); } // Check indirect objects. for (size_t i = 0; i < FX_ArraySize(obj_nums); ++i) diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_array.h b/core/fpdfapi/fpdf_parser/include/cpdf_array.h index 1e8c612710..a63c40cddb 100644 --- a/core/fpdfapi/fpdf_parser/include/cpdf_array.h +++ b/core/fpdfapi/fpdf_parser/include/cpdf_array.h @@ -53,9 +53,6 @@ class CPDF_Array : public CPDF_Object { void AddString(const CFX_ByteString& str); void AddName(const CFX_ByteString& str); void AddReference(CPDF_IndirectObjectHolder* pDoc, uint32_t objnum); - void AddReference(CPDF_IndirectObjectHolder* pDoc, CPDF_Object* obj) { - AddReference(pDoc, obj->GetObjNum()); - } iterator begin() { return m_Objects.begin(); } iterator end() { return m_Objects.end(); } diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h index 784d49714f..fc69ce2f4b 100644 --- a/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h +++ b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h @@ -63,11 +63,6 @@ class CPDF_Dictionary : public CPDF_Object { void SetReferenceFor(const CFX_ByteString& key, CPDF_IndirectObjectHolder* pDoc, uint32_t objnum); - void SetReferenceFor(const CFX_ByteString& key, - CPDF_IndirectObjectHolder* pDoc, - CPDF_Object* obj) { - SetReferenceFor(key, pDoc, obj->GetObjNum()); - } void SetRectFor(const CFX_ByteString& key, const CFX_FloatRect& rect); void SetMatrixFor(const CFX_ByteString& key, const CFX_Matrix& matrix); void SetBooleanFor(const CFX_ByteString& key, bool bValue); |