| Index: core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| diff --git a/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| index 52576043e39daf982f43c43f1d45b026feeef7ea..4bd4a4d5290ab98897ad540c49fe0217d5a7dde6 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) {
|
|
|