Index: fpdfsdk/fpdf_flatten.cpp |
diff --git a/fpdfsdk/fpdf_flatten.cpp b/fpdfsdk/fpdf_flatten.cpp |
index b11e4a621d5099c16f2d1a8041c5a18140f4e736..cb0a625e2362abb7a1c088c3042c05a1d63a31e3 100644 |
--- a/fpdfsdk/fpdf_flatten.cpp |
+++ b/fpdfsdk/fpdf_flatten.cpp |
@@ -13,6 +13,7 @@ |
#include "core/fpdfapi/parser/cpdf_array.h" |
#include "core/fpdfapi/parser/cpdf_document.h" |
#include "core/fpdfapi/parser/cpdf_number.h" |
+#include "core/fpdfapi/parser/cpdf_reference.h" |
#include "core/fpdfapi/parser/cpdf_stream.h" |
#include "core/fpdfapi/parser/cpdf_stream_acc.h" |
#include "core/fpdfdoc/cpdf_annot.h" |
@@ -205,12 +206,13 @@ void SetPageContents(const CFX_ByteString& key, |
CFX_ByteString((const FX_CHAR*)acc.GetData(), acc.GetSize()); |
sStream = sStream + sBody + "\nQ"; |
pContentsStream->SetData(sStream.raw_str(), sStream.GetLength()); |
- pContentsArray->AddReference(pDocument, pContentsStream->GetObjNum()); |
+ pContentsArray->AddNew<CPDF_Reference>(pDocument, |
+ pContentsStream->GetObjNum()); |
pPage->SetReferenceFor("Contents", pDocument, pContentsArray); |
} |
if (!key.IsEmpty()) { |
- pContentsArray->AddReference(pDocument, |
- NewIndirectContentsStream(key, pDocument)); |
+ pContentsArray->AddNew<CPDF_Reference>( |
+ pDocument, NewIndirectContentsStream(key, pDocument)); |
} |
} |
@@ -270,19 +272,19 @@ DLLEXPORT int STDCALL FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { |
if (!rcOriginalMB.IsEmpty()) { |
CPDF_Array* pMediaBox = new CPDF_Array(); |
- pMediaBox->Add(new CPDF_Number(rcOriginalMB.left)); |
- pMediaBox->Add(new CPDF_Number(rcOriginalMB.bottom)); |
- pMediaBox->Add(new CPDF_Number(rcOriginalMB.right)); |
- pMediaBox->Add(new CPDF_Number(rcOriginalMB.top)); |
+ pMediaBox->AddNew<CPDF_Number>(rcOriginalMB.left); |
+ pMediaBox->AddNew<CPDF_Number>(rcOriginalMB.bottom); |
+ pMediaBox->AddNew<CPDF_Number>(rcOriginalMB.right); |
+ pMediaBox->AddNew<CPDF_Number>(rcOriginalMB.top); |
pPageDict->SetFor("MediaBox", pMediaBox); |
} |
if (!rcOriginalCB.IsEmpty()) { |
CPDF_Array* pCropBox = new CPDF_Array(); |
- pCropBox->Add(new CPDF_Number(rcOriginalCB.left)); |
- pCropBox->Add(new CPDF_Number(rcOriginalCB.bottom)); |
- pCropBox->Add(new CPDF_Number(rcOriginalCB.right)); |
- pCropBox->Add(new CPDF_Number(rcOriginalCB.top)); |
+ pCropBox->AddNew<CPDF_Number>(rcOriginalCB.left); |
+ pCropBox->AddNew<CPDF_Number>(rcOriginalCB.bottom); |
+ pCropBox->AddNew<CPDF_Number>(rcOriginalCB.right); |
+ pCropBox->AddNew<CPDF_Number>(rcOriginalCB.top); |
pPageDict->SetFor("ArtBox", pCropBox); |
} |