| Index: core/fpdfapi/page/cpdf_image.cpp
|
| diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp
|
| index c910319aba347c8faa0b3bf7f2d368d66f27e43f..feafde3b36bcfcaa8158fab2fb8602a013802463 100644
|
| --- a/core/fpdfapi/page/cpdf_image.cpp
|
| +++ b/core/fpdfapi/page/cpdf_image.cpp
|
| @@ -322,18 +322,18 @@ void CPDF_Image::ResetCache(CPDF_Page* pPage, const CFX_DIBitmap* pBitmap) {
|
| pPage->GetRenderCache()->ResetBitmap(m_pStream.Get(), pBitmap);
|
| }
|
|
|
| -CFX_DIBSource* CPDF_Image::LoadDIBSource(CFX_DIBSource** ppMask,
|
| - uint32_t* pMatteColor,
|
| - bool bStdCS,
|
| - uint32_t GroupFamily,
|
| - bool bLoadMask) const {
|
| +std::unique_ptr<CFX_DIBSource> CPDF_Image::LoadDIBSource(CFX_DIBSource** ppMask,
|
| + uint32_t* pMatteColor,
|
| + bool bStdCS,
|
| + uint32_t GroupFamily,
|
| + bool bLoadMask) const {
|
| auto source = pdfium::MakeUnique<CPDF_DIBSource>();
|
| - if (source->Load(m_pDocument, m_pStream.Get(),
|
| - reinterpret_cast<CPDF_DIBSource**>(ppMask), pMatteColor,
|
| - nullptr, nullptr, bStdCS, GroupFamily, bLoadMask)) {
|
| - return source.release();
|
| + if (!source->Load(m_pDocument, m_pStream.Get(),
|
| + reinterpret_cast<CPDF_DIBSource**>(ppMask), pMatteColor,
|
| + nullptr, nullptr, bStdCS, GroupFamily, bLoadMask)) {
|
| + return nullptr;
|
| }
|
| - return nullptr;
|
| + return std::move(source);
|
| }
|
|
|
| CFX_DIBSource* CPDF_Image::DetachBitmap() {
|
|
|