From 72c1bda4efaf0121e13b794cb886acd9806b6c89 Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 14 Dec 2016 14:15:14 -0800 Subject: Return unique_ptr from GetAlphaMask. Rename GetAlphaMask => CloneAlphaMask since it does more than get. Rename CopyAlphaMask => SetAlphaMask, as it copies IN, not OUT. ditto for CopyPalette => SetPalette. BUG= Review-Url: https://codereview.chromium.org/2572243002 --- core/fpdfapi/page/cpdf_image.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'core/fpdfapi/page/cpdf_image.cpp') diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp index feafde3b36..97969551c6 100644 --- a/core/fpdfapi/page/cpdf_image.cpp +++ b/core/fpdfapi/page/cpdf_image.cpp @@ -247,8 +247,10 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap) { bCopyWithoutAlpha = false; } - const CFX_DIBitmap* pMaskBitmap = - pBitmap->HasAlpha() ? pBitmap->GetAlphaMask() : nullptr; + std::unique_ptr pMaskBitmap; + if (pBitmap->HasAlpha()) + pMaskBitmap = pBitmap->CloneAlphaMask(); + if (pMaskBitmap) { int32_t maskWidth = pMaskBitmap->GetWidth(); int32_t maskHeight = pMaskBitmap->GetHeight(); @@ -275,7 +277,6 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap) { mask_buf, mask_size, std::move(pMaskDict)); pDict->SetNewFor("SMask", m_pDocument, pNewStream->GetObjNum()); - delete pMaskBitmap; } uint8_t* src_buf = pBitmap->GetBuffer(); -- cgit v1.2.3