diff options
Diffstat (limited to 'core/fpdfapi/fpdf_page/cpdf_allstates.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_page/cpdf_allstates.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/core/fpdfapi/fpdf_page/cpdf_allstates.cpp b/core/fpdfapi/fpdf_page/cpdf_allstates.cpp index 89c13215ae..b92f10b095 100644 --- a/core/fpdfapi/fpdf_page/cpdf_allstates.cpp +++ b/core/fpdfapi/fpdf_page/cpdf_allstates.cpp @@ -106,10 +106,8 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, break; case FXBSTR_ID('B', 'M', 0, 0): { CPDF_Array* pArray = pObject->AsArray(); - CFX_ByteString mode = - pArray ? pArray->GetStringAt(0) : pObject->GetString(); - - m_GeneralState.SetBlendMode(mode.AsStringC()); + m_GeneralState.SetBlendMode(pArray ? pArray->GetStringAt(0) + : pObject->GetString()); if (m_GeneralState.GetBlendType() > FXDIB_BLEND_MULTIPLY) pParser->GetPageObjectHolder()->SetBackgroundAlphaNeeded(TRUE); break; @@ -117,8 +115,7 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, case FXBSTR_ID('S', 'M', 'a', 's'): if (ToDictionary(pObject)) { m_GeneralState.SetSoftMask(pObject); - FXSYS_memcpy(m_GeneralState.GetMutableSMaskMatrix(), - &pParser->GetCurStates()->m_CTM, sizeof(CFX_Matrix)); + m_GeneralState.SetSMaskMatrix(pParser->GetCurStates()->m_CTM); } else { m_GeneralState.SetSoftMask(nullptr); } |