From f605c24fa76c9034184ed6a5054200962a0b6c07 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 18 May 2017 13:48:33 -0700 Subject: Add more CFX_UnownedPtr usage. One lifetime issue was fixed by passing CPDF_RenderStatus into Continue() methods rather than holidng a pointer which was going stale. Bug: Change-Id: I63b9dce4c1a0d1377cc407b5460535f7c916a040 Reviewed-on: https://pdfium-review.googlesource.com/5659 Reviewed-by: dsinclair Commit-Queue: Tom Sepez --- core/fpdfapi/parser/cpdf_reference.cpp | 2 +- core/fpdfapi/parser/cpdf_reference.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'core/fpdfapi/parser') diff --git a/core/fpdfapi/parser/cpdf_reference.cpp b/core/fpdfapi/parser/cpdf_reference.cpp index ff0442b6f5..4594fe9f44 100644 --- a/core/fpdfapi/parser/cpdf_reference.cpp +++ b/core/fpdfapi/parser/cpdf_reference.cpp @@ -65,7 +65,7 @@ std::unique_ptr CPDF_Reference::CloneNonCyclic( ? pDirect->CloneNonCyclic(true, pVisited) : nullptr; } - return pdfium::MakeUnique(m_pObjList, m_RefObjNum); + return pdfium::MakeUnique(m_pObjList.Get(), m_RefObjNum); } CPDF_Object* CPDF_Reference::SafeGetDirect() const { diff --git a/core/fpdfapi/parser/cpdf_reference.h b/core/fpdfapi/parser/cpdf_reference.h index 83bb0b48e7..ab160302fe 100644 --- a/core/fpdfapi/parser/cpdf_reference.h +++ b/core/fpdfapi/parser/cpdf_reference.h @@ -11,6 +11,7 @@ #include #include "core/fpdfapi/parser/cpdf_object.h" +#include "core/fxcrt/cfx_unowned_ptr.h" class CPDF_IndirectObjectHolder; @@ -32,9 +33,8 @@ class CPDF_Reference : public CPDF_Object { const CPDF_Reference* AsReference() const override; bool WriteTo(IFX_ArchiveStream* archive) const override; - CPDF_IndirectObjectHolder* GetObjList() const { return m_pObjList; } + CPDF_IndirectObjectHolder* GetObjList() const { return m_pObjList.Get(); } uint32_t GetRefObjNum() const { return m_RefObjNum; } - void SetRef(CPDF_IndirectObjectHolder* pDoc, uint32_t objnum); protected: @@ -43,7 +43,7 @@ class CPDF_Reference : public CPDF_Object { std::set* pVisited) const override; CPDF_Object* SafeGetDirect() const; - CPDF_IndirectObjectHolder* m_pObjList; + CFX_UnownedPtr m_pObjList; uint32_t m_RefObjNum; }; -- cgit v1.2.3