summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp33
-rw-r--r--core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp2
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp2
3 files changed, 15 insertions, 22 deletions
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
index a5a91ebc53..9096bf938e 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"));
@@ -223,24 +224,20 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F
FXSYS_memcpy32(mask_buf + a * maskWidth, pMaskBitmap->GetScanline(a), maskWidth);
}
}
- if (pMaskDict) {
- pMaskDict->SetAtInteger(FX_BSTRC("Length"), mask_size);
- CPDF_Stream* pMaskStream = NULL;
- if (bUseMatte) {
- int a, r, g, b;
- ArgbDecode(*(pParam->pMatteColor), a, r, g, b);
- CPDF_Array* pMatte = new CPDF_Array;
- pMatte->AddInteger(r);
- pMatte->AddInteger(g);
- pMatte->AddInteger(b);
- pMaskDict->SetAt(FX_BSTRC("Matte"), pMatte);
- }
- pMaskStream = new CPDF_Stream(mask_buf, mask_size, pMaskDict);
- m_pDocument->AddIndirectObject(pMaskStream);
- bDeleteMask = FALSE;
- pDict->SetAtReference(FX_BSTRC("SMask"), m_pDocument, pMaskStream);
+ pMaskDict->SetAtInteger(FX_BSTRC("Length"), mask_size);
+ if (bUseMatte) {
+ int a, r, g, b;
+ ArgbDecode(*(pParam->pMatteColor), a, r, g, b);
+ CPDF_Array* pMatte = new CPDF_Array;
+ pMatte->AddInteger(r);
+ pMatte->AddInteger(g);
+ pMatte->AddInteger(b);
+ pMaskDict->SetAt(FX_BSTRC("Matte"), pMatte);
}
- if (pBitmap->HasAlpha()) {
+ CPDF_Stream* pMaskStream = new CPDF_Stream(mask_buf, mask_size, pMaskDict);
+ m_pDocument->AddIndirectObject(pMaskStream);
+ pDict->SetAtReference(FX_BSTRC("SMask"), m_pDocument, pMaskStream);
+ if (bDeleteMask) {
delete pMaskBitmap;
}
}
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
index 8ec490a9e8..924c88e421 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
@@ -73,7 +73,6 @@ CPDF_PSProc::~CPDF_PSProc()
}
}
}
-#pragma optimize( "", off )
FX_BOOL CPDF_PSProc::Execute(CPDF_PSEngine* pEngine)
{
int size = m_Operators.GetSize();
@@ -107,7 +106,6 @@ FX_BOOL CPDF_PSProc::Execute(CPDF_PSEngine* pEngine)
}
return TRUE;
}
-#pragma optimize( "", on )
CPDF_PSEngine::CPDF_PSEngine()
{
m_StackCount = 0;
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
index 691981cb10..d18caab217 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
@@ -232,11 +232,9 @@ ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder(FX_LPCBYTE src_buf, FX_DWORD
int nComps, int bpc, const CPDF_Dictionary* pParams)
{
int predictor = 0;
- FX_BOOL bEarlyChange = TRUE;
int Colors = 0, BitsPerComponent = 0, Columns = 0;
if (pParams) {
predictor = ((CPDF_Dictionary*)pParams)->GetInteger(FX_BSTRC("Predictor"));
- bEarlyChange = ((CPDF_Dictionary*)pParams)->GetInteger(FX_BSTRC("EarlyChange"), 1);
Colors = pParams->GetInteger(FX_BSTRC("Colors"), 1);
BitsPerComponent = pParams->GetInteger(FX_BSTRC("BitsPerComponent"), 8);
Columns = pParams->GetInteger(FX_BSTRC("Columns"), 1);