summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-05-18 13:48:33 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-05-18 21:21:59 +0000
commitf605c24fa76c9034184ed6a5054200962a0b6c07 (patch)
treeac9e02f447e0d3ca07155082eb84ea546fc73762 /core/fpdfapi/parser
parent940967de0b588d3abb9cba5822ae5f5c5fe05017 (diff)
downloadpdfium-f605c24fa76c9034184ed6a5054200962a0b6c07.tar.xz
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 <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser')
-rw-r--r--core/fpdfapi/parser/cpdf_reference.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_reference.h6
2 files changed, 4 insertions, 4 deletions
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_Object> CPDF_Reference::CloneNonCyclic(
? pDirect->CloneNonCyclic(true, pVisited)
: nullptr;
}
- return pdfium::MakeUnique<CPDF_Reference>(m_pObjList, m_RefObjNum);
+ return pdfium::MakeUnique<CPDF_Reference>(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 <set>
#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<const CPDF_Object*>* pVisited) const override;
CPDF_Object* SafeGetDirect() const;
- CPDF_IndirectObjectHolder* m_pObjList;
+ CFX_UnownedPtr<CPDF_IndirectObjectHolder> m_pObjList;
uint32_t m_RefObjNum;
};