| Index: core/fpdfapi/parser/cpdf_object.h
|
| diff --git a/core/fpdfapi/parser/cpdf_object.h b/core/fpdfapi/parser/cpdf_object.h
|
| index 8f6491ec724531781e5cb97db64b5ed31abc05f1..c24b40a7896808885533b0d3bceff587907fee22 100644
|
| --- a/core/fpdfapi/parser/cpdf_object.h
|
| +++ b/core/fpdfapi/parser/cpdf_object.h
|
| @@ -46,12 +46,13 @@ class CPDF_Object {
|
| bool IsInline() const { return m_ObjNum == 0; }
|
|
|
| // Create a deep copy of the object.
|
| - virtual CPDF_Object* Clone() const = 0;
|
| + virtual std::unique_ptr<CPDF_Object> Clone() const = 0;
|
| +
|
| // Create a deep copy of the object except any reference object be
|
| // copied to the object it points to directly.
|
| - virtual CPDF_Object* CloneDirectObject() const;
|
| - virtual CPDF_Object* GetDirect() const;
|
| + virtual std::unique_ptr<CPDF_Object> CloneDirectObject() const;
|
|
|
| + virtual CPDF_Object* GetDirect() const;
|
| virtual CFX_ByteString GetString() const;
|
| virtual CFX_WideString GetUnicodeText() const;
|
| virtual FX_FLOAT GetNumber() const;
|
| @@ -97,7 +98,7 @@ class CPDF_Object {
|
|
|
| CPDF_Object() : m_ObjNum(0), m_GenNum(0) {}
|
|
|
| - CPDF_Object* CloneObjectNonCyclic(bool bDirect) const;
|
| + std::unique_ptr<CPDF_Object> CloneObjectNonCyclic(bool bDirect) const;
|
|
|
| // Create a deep copy of the object with the option to either
|
| // copy a reference object or directly copy the object it refers to
|
| @@ -105,7 +106,7 @@ class CPDF_Object {
|
| // Also check cyclic reference against |pVisited|, no copy if it is found.
|
| // Complex objects should implement their own CloneNonCyclic()
|
| // function to properly check for possible loop.
|
| - virtual CPDF_Object* CloneNonCyclic(
|
| + virtual std::unique_ptr<CPDF_Object> CloneNonCyclic(
|
| bool bDirect,
|
| std::set<const CPDF_Object*>* pVisited) const;
|
|
|
|
|