From 4e4d1a662b09d9ee1dc93dd8ee37694d3c4eb519 Mon Sep 17 00:00:00 2001 From: tsepez Date: Thu, 13 Oct 2016 15:56:53 -0700 Subject: Make CPDF_Image() constructors saner. Introduce the UniqueDictionary typedef and friends, to allow moving to unique_ptrs before the Release() deleter issue is fully resolved. This will go away down the road. Review-Url: https://codereview.chromium.org/2420743002 --- core/fpdfapi/parser/cpdf_stream.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'core/fpdfapi/parser/cpdf_stream.h') diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h index 575a9ebe0b..756eccfba1 100644 --- a/core/fpdfapi/parser/cpdf_stream.h +++ b/core/fpdfapi/parser/cpdf_stream.h @@ -58,7 +58,7 @@ class CPDF_Stream : public CPDF_Object { IFX_FileRead* m_pFile = nullptr; }; -using UniqueStream = std::unique_ptr>; +using UniqueStream = std::unique_ptr>; inline CPDF_Stream* ToStream(CPDF_Object* obj) { return obj ? obj->AsStream() : nullptr; @@ -68,4 +68,12 @@ inline const CPDF_Stream* ToStream(const CPDF_Object* obj) { return obj ? obj->AsStream() : nullptr; } +inline UniqueStream ToStream(UniqueObject obj) { + CPDF_Stream* pStream = ToStream(obj.get()); + if (!pStream) + return nullptr; + obj.release(); + return UniqueStream(pStream); +} + #endif // CORE_FPDFAPI_PARSER_CPDF_STREAM_H_ -- cgit v1.2.3