From afd0d1f488ea55da545b3310fd8f22e45522a695 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 4 Apr 2017 14:37:18 -0700 Subject: RefCount CPDF_StreamAcc all the time. Pass stream argument to constructor; it feels like a stream accessor should always be made from a stream rather than passing one in after the fact. Change-Id: Iaa46cb37677b81f0170f5d39bab76ad38ea4af44 Reviewed-on: https://pdfium-review.googlesource.com/3620 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- xfa/fxfa/cxfa_ffapp.cpp | 6 +++--- xfa/fxfa/cxfa_ffdoc.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'xfa/fxfa') diff --git a/xfa/fxfa/cxfa_ffapp.cpp b/xfa/fxfa/cxfa_ffapp.cpp index 78de94e938..7b88626c91 100644 --- a/xfa/fxfa/cxfa_ffapp.cpp +++ b/xfa/fxfa/cxfa_ffapp.cpp @@ -35,13 +35,13 @@ class CXFA_FileRead : public IFX_SeekableReadStream { bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override; private: - std::vector> m_Data; + std::vector> m_Data; }; CXFA_FileRead::CXFA_FileRead(const std::vector& streams) { for (CPDF_Stream* pStream : streams) { - m_Data.push_back(pdfium::MakeUnique()); - m_Data.back()->LoadAllData(pStream); + m_Data.push_back(pdfium::MakeRetain(pStream)); + m_Data.back()->LoadAllData(); } } diff --git a/xfa/fxfa/cxfa_ffdoc.cpp b/xfa/fxfa/cxfa_ffdoc.cpp index f48ae57fb2..993f5bc664 100644 --- a/xfa/fxfa/cxfa_ffdoc.cpp +++ b/xfa/fxfa/cxfa_ffdoc.cpp @@ -388,12 +388,12 @@ CFX_RetainPtr CXFA_FFDoc::GetPDFNamedImage( if (!pStream) return nullptr; - CPDF_StreamAcc streamAcc; - streamAcc.LoadAllData(pStream); + auto pAcc = pdfium::MakeRetain(pStream); + pAcc->LoadAllData(); CFX_RetainPtr pImageFileRead = - IFX_MemoryStream::Create((uint8_t*)streamAcc.GetData(), - streamAcc.GetSize()); + IFX_MemoryStream::Create(const_cast(pAcc->GetData()), + pAcc->GetSize()); CFX_RetainPtr pDibSource = XFA_LoadImageFromBuffer( pImageFileRead, FXCODEC_IMAGE_UNKNOWN, iImageXDpi, iImageYDpi); -- cgit v1.2.3