Index: core/fpdfapi/parser/cpdf_stream.h |
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h |
index 575a9ebe0b2ac40c58e2a06a44bbe1f7a3dab185..756eccfba1cfbb0d8253604b2cbdbefc184b6eb5 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<CPDF_Stream, ReleaseDeleter<CPDF_Stream>>; |
+using UniqueStream = std::unique_ptr<CPDF_Stream, ReleaseDeleter<CPDF_Object>>; |
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_ |