| Index: core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
|
| index a5a91ebc53ba719e09d0a6705c601a5aa9acfced..bb80196d6f6a15015f1eadb35f59da560b2dbfb5 100644
|
| --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
|
| +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
|
| @@ -190,8 +190,10 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F
|
| }
|
| }
|
| const CFX_DIBitmap* pMaskBitmap = NULL;
|
| + FX_BOOL bDeleteMask = FALSE;
|
| if (pBitmap->HasAlpha()) {
|
| pMaskBitmap = pBitmap->GetAlphaMask();
|
| + bDeleteMask = TRUE;
|
| }
|
| if (!pMaskBitmap && pMask) {
|
| FXDIB_Format maskFormat = pMask->GetFormat();
|
| @@ -204,7 +206,6 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F
|
| FX_INT32 maskHeight = pMaskBitmap->GetHeight();
|
| FX_LPBYTE mask_buf = NULL;
|
| FX_STRSIZE mask_size;
|
| - FX_BOOL bDeleteMask = TRUE;
|
| CPDF_Dictionary* pMaskDict = new CPDF_Dictionary;
|
| pMaskDict->SetAtName(FX_BSTRC("Type"), FX_BSTRC("XObject"));
|
| pMaskDict->SetAtName(FX_BSTRC("Subtype"), FX_BSTRC("Image"));
|
| @@ -240,7 +241,7 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F
|
| bDeleteMask = FALSE;
|
| pDict->SetAtReference(FX_BSTRC("SMask"), m_pDocument, pMaskStream);
|
| }
|
| - if (pBitmap->HasAlpha()) {
|
| + if (bDeleteMask) {
|
| delete pMaskBitmap;
|
| }
|
| }
|
|
|