diff options
author | Lei Zhang <thestig@chromium.org> | 2018-07-10 18:13:45 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-10 18:13:45 +0000 |
commit | 416cbeab1d93b1261dfb4584e0c8e47d9cd4720f (patch) | |
tree | d337390fadee51ee8949542f68feade0e2f64cec | |
parent | b5cabcb3b24f835cb09c7086b380be2b26cf46be (diff) | |
download | pdfium-416cbeab1d93b1261dfb4584e0c8e47d9cd4720f.tar.xz |
Make CPDF_StreamContentParser::m_pResources a const pointer.
Move the code to select what it points at to a separate function, so the
CPDF_StreamContentParser constructor only sets it once.
Change-Id: I60013e77c8f37246282f94227a4aeb17270ee23c
Reviewed-on: https://pdfium-review.googlesource.com/37450
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
-rw-r--r-- | core/fpdfapi/page/cpdf_streamcontentparser.cpp | 15 | ||||
-rw-r--r-- | core/fpdfapi/page/cpdf_streamcontentparser.h | 2 |
2 files changed, 11 insertions, 6 deletions
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp index 640b7f7109..ba7388cf15 100644 --- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp +++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp @@ -236,6 +236,14 @@ void ReplaceAbbr(CPDF_Object* pObj) { } } +CPDF_Dictionary* ChooseResourcesDict(CPDF_Dictionary* pResources, + CPDF_Dictionary* pParentResources, + CPDF_Dictionary* pPageResources) { + if (pResources) + return pResources; + return pParentResources ? pParentResources : pPageResources; +} + } // namespace CPDF_StreamContentParser::CPDF_StreamContentParser( @@ -251,7 +259,8 @@ CPDF_StreamContentParser::CPDF_StreamContentParser( : m_pDocument(pDocument), m_pPageResources(pPageResources), m_pParentResources(pParentResources), - m_pResources(pResources), + m_pResources( + ChooseResourcesDict(pResources, pParentResources, pPageResources)), m_pObjectHolder(pObjHolder), m_ParsedSet(parsedSet), m_BBox(rcBBox), @@ -268,10 +277,6 @@ CPDF_StreamContentParser::CPDF_StreamContentParser( m_bResourceMissing(false) { if (pmtContentToUser) m_mtContentToUser = *pmtContentToUser; - if (!m_pResources) - m_pResources = m_pParentResources; - if (!m_pResources) - m_pResources = m_pPageResources; if (pStates) { m_pCurStates->Copy(*pStates); } else { diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.h b/core/fpdfapi/page/cpdf_streamcontentparser.h index 238999b846..aac66e883b 100644 --- a/core/fpdfapi/page/cpdf_streamcontentparser.h +++ b/core/fpdfapi/page/cpdf_streamcontentparser.h @@ -211,7 +211,7 @@ class CPDF_StreamContentParser { UnownedPtr<CPDF_Document> const m_pDocument; UnownedPtr<CPDF_Dictionary> const m_pPageResources; UnownedPtr<CPDF_Dictionary> const m_pParentResources; - UnownedPtr<CPDF_Dictionary> m_pResources; + UnownedPtr<CPDF_Dictionary> const m_pResources; UnownedPtr<CPDF_PageObjectHolder> const m_pObjectHolder; UnownedPtr<std::set<const uint8_t*>> const m_ParsedSet; CFX_Matrix m_mtContentToUser; |