diff options
Diffstat (limited to 'core/fpdfapi/page/cpdf_form.cpp')
-rw-r--r-- | core/fpdfapi/page/cpdf_form.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/core/fpdfapi/page/cpdf_form.cpp b/core/fpdfapi/page/cpdf_form.cpp index 5132029072..e73f1dfa43 100644 --- a/core/fpdfapi/page/cpdf_form.cpp +++ b/core/fpdfapi/page/cpdf_form.cpp @@ -19,13 +19,12 @@ CPDF_Form::CPDF_Form(CPDF_Document* pDoc, CPDF_Dictionary* pParentResources) : CPDF_PageObjectHolder(pDoc, pFormStream->GetDict()) { m_pFormStream = pFormStream; - m_pResources = m_pFormDict->GetDictFor("Resources"); + m_pResources = GetFormDict()->GetDictFor("Resources"); m_pPageResources = pPageResources; if (!m_pResources) m_pResources = pParentResources; if (!m_pResources) m_pResources = pPageResources; - m_Transparency = CPDF_Transparency(); LoadTransInfo(); } @@ -35,19 +34,20 @@ void CPDF_Form::ParseContent(CPDF_AllStates* pGraphicStates, const CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, std::set<const uint8_t*>* parsedSet) { - if (m_ParseState == CONTENT_PARSED || m_ParseState == CONTENT_PARSING) + if (GetParseState() == ParseState::kParsed) return; - if (!parsedSet) { - if (!m_ParsedSet) - m_ParsedSet = pdfium::MakeUnique<std::set<const uint8_t*>>(); - parsedSet = m_ParsedSet.get(); + if (GetParseState() == ParseState::kNotParsed) { + if (!parsedSet) { + if (!m_ParsedSet) + m_ParsedSet = pdfium::MakeUnique<std::set<const uint8_t*>>(); + parsedSet = m_ParsedSet.get(); + } + StartParse(pdfium::MakeUnique<CPDF_ContentParser>( + this, pGraphicStates, pParentMatrix, pType3Char, parsedSet)); } - m_pParser = pdfium::MakeUnique<CPDF_ContentParser>( - this, pGraphicStates, pParentMatrix, pType3Char, parsedSet); - m_ParseState = CONTENT_PARSING; - + ASSERT(GetParseState() == ParseState::kParsing); ContinueParse(nullptr); } |