summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_page/fpdf_page_parser.cpp')
-rw-r--r--core/fpdfapi/fpdf_page/fpdf_page_parser.cpp35
1 files changed, 10 insertions, 25 deletions
diff --git a/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
index 52576043e3..4bd4a4d529 100644
--- a/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
+++ b/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
@@ -1139,31 +1139,16 @@ void CPDF_StreamContentParser::Handle_SetFont() {
CPDF_Object* CPDF_StreamContentParser::FindResourceObj(
const CFX_ByteString& type,
const CFX_ByteString& name) {
- if (!m_pResources) {
- return NULL;
- }
- if (m_pResources == m_pPageResources) {
- CPDF_Dictionary* pList = m_pResources->GetDictBy(type);
- if (!pList) {
- return NULL;
- }
- CPDF_Object* pRes = pList->GetDirectObjectBy(name);
- return pRes;
- }
- CPDF_Dictionary* pList = m_pResources->GetDictBy(type);
- if (!pList) {
- if (!m_pPageResources) {
- return NULL;
- }
- CPDF_Dictionary* pList = m_pPageResources->GetDictBy(type);
- if (!pList) {
- return NULL;
- }
- CPDF_Object* pRes = pList->GetDirectObjectBy(name);
- return pRes;
- }
- CPDF_Object* pRes = pList->GetDirectObjectBy(name);
- return pRes;
+ if (!m_pResources)
+ return nullptr;
+ CPDF_Dictionary* pDict = m_pResources->GetDictBy(type);
+ if (pDict)
+ return pDict->GetDirectObjectBy(name);
+ if (m_pResources == m_pPageResources || !m_pPageResources)
+ return nullptr;
+
+ CPDF_Dictionary* pPageDict = m_pPageResources->GetDictBy(type);
+ return pPageDict ? pPageDict->GetDirectObjectBy(name) : nullptr;
}
CPDF_Font* CPDF_StreamContentParser::FindFont(const CFX_ByteString& name) {