| Index: core/src/fpdfdoc/doc_annot.cpp
|
| diff --git a/core/src/fpdfdoc/doc_annot.cpp b/core/src/fpdfdoc/doc_annot.cpp
|
| index 89528455701f41f510b95c180ed4aaaffa5a364a..3285487ca0bf771c1d1162648463ad9a39a010cf 100644
|
| --- a/core/src/fpdfdoc/doc_annot.cpp
|
| +++ b/core/src/fpdfdoc/doc_annot.cpp
|
| @@ -4,8 +4,10 @@
|
|
|
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
| +#include "../../../third_party/base/nonstd_unique_ptr.h"
|
| #include "../../include/fpdfdoc/fpdf_doc.h"
|
| #include "../../include/fpdfapi/fpdf_pageobj.h"
|
| +
|
| CPDF_AnnotList::CPDF_AnnotList(CPDF_Page* pPage)
|
| {
|
| ASSERT(pPage != NULL);
|
| @@ -323,19 +325,14 @@ CPDF_PageObject* CPDF_Annot::GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions*
|
| int B = (FX_INT32)(pColor->GetNumber(2) * 255);
|
| argb = ArgbEncode(0xff, R, G, B);
|
| }
|
| - CPDF_PathObject *pPathObject = FX_NEW CPDF_PathObject();
|
| - if (!pPathObject) {
|
| - return NULL;
|
| - }
|
| + nonstd::unique_ptr<CPDF_PathObject> pPathObject(new CPDF_PathObject());
|
| CPDF_GraphStateData *pGraphState = pPathObject->m_GraphState.GetModify();
|
| if (!pGraphState) {
|
| - pPathObject->Release();
|
| return NULL;
|
| }
|
| pGraphState->m_LineWidth = width;
|
| CPDF_ColorStateData *pColorData = pPathObject->m_ColorState.GetModify();
|
| if (!pColorData) {
|
| - pPathObject->Release();
|
| return NULL;
|
| }
|
| pColorData->m_StrokeRGB = argb;
|
| @@ -349,7 +346,6 @@ CPDF_PageObject* CPDF_Annot::GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions*
|
| }
|
| pGraphState->m_DashArray = FX_Alloc(FX_FLOAT, dash_count);
|
| if (pGraphState->m_DashArray == NULL) {
|
| - pPathObject->Release();
|
| return NULL;
|
| }
|
| pGraphState->m_DashCount = dash_count;
|
| @@ -363,7 +359,6 @@ CPDF_PageObject* CPDF_Annot::GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions*
|
| } else {
|
| pGraphState->m_DashArray = FX_Alloc(FX_FLOAT, 2);
|
| if (pGraphState->m_DashArray == NULL) {
|
| - pPathObject->Release();
|
| return NULL;
|
| }
|
| pGraphState->m_DashCount = 2;
|
| @@ -378,7 +373,7 @@ CPDF_PageObject* CPDF_Annot::GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions*
|
| pPathData->AppendRect(rect.left + width, rect.bottom + width, rect.right - width, rect.top - width);
|
| }
|
| pPathObject->CalcBoundingBox();
|
| - return pPathObject;
|
| + return pPathObject.release();
|
| }
|
| void CPDF_Annot::DrawBorder(CFX_RenderDevice* pDevice, const CFX_AffineMatrix* pUser2Device, const CPDF_RenderOptions* pOptions)
|
| {
|
|
|