| Index: fpdfsdk/fpdf_transformpage.cpp
|
| diff --git a/fpdfsdk/fpdf_transformpage.cpp b/fpdfsdk/fpdf_transformpage.cpp
|
| index beaa6c4d982e9b1915afea0a76a3f2cfaaa31c4d..b1e8da06b9136024b97d6b55aad2fd12dc32be14 100644
|
| --- a/fpdfsdk/fpdf_transformpage.cpp
|
| +++ b/fpdfsdk/fpdf_transformpage.cpp
|
| @@ -26,12 +26,11 @@ void SetBoundingBox(CPDF_Page* page,
|
| float bottom,
|
| float right,
|
| float top) {
|
| - CPDF_Array* pBoundingBoxArray = new CPDF_Array;
|
| + CPDF_Array* pBoundingBoxArray = page->m_pFormDict->SetNewFor<CPDF_Array>(key);
|
| pBoundingBoxArray->AddNew<CPDF_Number>(left);
|
| pBoundingBoxArray->AddNew<CPDF_Number>(bottom);
|
| pBoundingBoxArray->AddNew<CPDF_Number>(right);
|
| pBoundingBoxArray->AddNew<CPDF_Number>(top);
|
| - page->m_pFormDict->SetFor(key, pBoundingBoxArray);
|
| }
|
|
|
| bool GetBoundingBox(CPDF_Page* page,
|
| @@ -158,7 +157,8 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_TransFormWithClip(FPDF_PAGE page,
|
| pContentArray->AddNew<CPDF_Reference>(pDoc, pStream->GetObjNum());
|
| pContentArray->AddNew<CPDF_Reference>(pDoc, pDirectObj->GetObjNum());
|
| pContentArray->AddNew<CPDF_Reference>(pDoc, pEndStream->GetObjNum());
|
| - pPageDic->SetReferenceFor("Contents", pDoc, pContentArray);
|
| + pPageDic->SetNewFor<CPDF_Reference>("Contents", pDoc,
|
| + pContentArray->GetObjNum());
|
| }
|
| }
|
| }
|
| @@ -169,7 +169,7 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_TransFormWithClip(FPDF_PAGE page,
|
| CPDF_Dictionary* pPattenDict = pRes->GetDictFor("Pattern");
|
| if (pPattenDict) {
|
| for (const auto& it : *pPattenDict) {
|
| - CPDF_Object* pObj = it.second;
|
| + CPDF_Object* pObj = it.second.get();
|
| if (pObj->IsReference())
|
| pObj = pObj->GetDirect();
|
|
|
| @@ -328,6 +328,7 @@ DLLEXPORT void STDCALL FPDFPage_InsertClipPath(FPDF_PAGE page,
|
| CPDF_Array* pContentArray = pDoc->NewIndirect<CPDF_Array>();
|
| pContentArray->AddNew<CPDF_Reference>(pDoc, pStream->GetObjNum());
|
| pContentArray->AddNew<CPDF_Reference>(pDoc, pDirectObj->GetObjNum());
|
| - pPageDic->SetReferenceFor("Contents", pDoc, pContentArray);
|
| + pPageDic->SetNewFor<CPDF_Reference>("Contents", pDoc,
|
| + pContentArray->GetObjNum());
|
| }
|
| }
|
|
|