From 778e59ed40ed31f6176a68253b694acd31f640c9 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 5 Jun 2018 19:24:42 +0000 Subject: Tidy parser lifecycle state machine in CPDF_PageObjectHolder. Only update state in CPDF_PageObjectHolder itself. Make more data private. Remove CPDF_Page::GetPageBBox() as exact duplicate of CPDF_PageObjectHolder::GetBBox(). Change-Id: I083ec33f61a1490e7a5e673c9787751af15a6cd1 Reviewed-on: https://pdfium-review.googlesource.com/33810 Reviewed-by: dsinclair Commit-Queue: Tom Sepez --- core/fpdfapi/render/cpdf_progressiverenderer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'core/fpdfapi/render') diff --git a/core/fpdfapi/render/cpdf_progressiverenderer.cpp b/core/fpdfapi/render/cpdf_progressiverenderer.cpp index e388f7fa10..de140d8a22 100644 --- a/core/fpdfapi/render/cpdf_progressiverenderer.cpp +++ b/core/fpdfapi/render/cpdf_progressiverenderer.cpp @@ -114,20 +114,22 @@ void CPDF_ProgressiveRenderer::Continue(PauseIndicatorIface* pPause) { if (is_mask && iter != iterEnd) return; } - if (m_pCurrentLayer->m_pObjectHolder->IsParsed()) { + if (m_pCurrentLayer->m_pObjectHolder->GetParseState() == + CPDF_PageObjectHolder::ParseState::kParsed) { m_pRenderStatus.reset(); m_pDevice->RestoreState(false); m_pCurrentLayer = nullptr; m_LayerIndex++; - if (is_mask || (pPause && pPause->NeedToPauseNow())) { + if (is_mask || (pPause && pPause->NeedToPauseNow())) return; - } } else if (is_mask) { return; } else { m_pCurrentLayer->m_pObjectHolder->ContinueParse(pPause); - if (!m_pCurrentLayer->m_pObjectHolder->IsParsed()) + if (m_pCurrentLayer->m_pObjectHolder->GetParseState() != + CPDF_PageObjectHolder::ParseState::kParsed) { return; + } } } } -- cgit v1.2.3