| Index: core/fpdfapi/parser/cpdf_document.cpp
|
| diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp
|
| index d9ffc0b28a46ee3c51dd641a52922d6056ba1d55..8e181de97cf54a94010c3ff88c9e0b360cf80fa7 100644
|
| --- a/core/fpdfapi/parser/cpdf_document.cpp
|
| +++ b/core/fpdfapi/parser/cpdf_document.cpp
|
| @@ -17,7 +17,6 @@
|
| #include "core/fpdfapi/page/pageint.h"
|
| #include "core/fpdfapi/parser/cpdf_array.h"
|
| #include "core/fpdfapi/parser/cpdf_dictionary.h"
|
| -#include "core/fpdfapi/parser/cpdf_linearized.h"
|
| #include "core/fpdfapi/parser/cpdf_number.h"
|
| #include "core/fpdfapi/parser/cpdf_parser.h"
|
| #include "core/fpdfapi/parser/cpdf_reference.h"
|
| @@ -379,13 +378,23 @@
|
| m_PageList.SetSize(RetrievePageCount());
|
| }
|
|
|
| -void CPDF_Document::LoadLinearizedDoc(
|
| - const CPDF_Linearized* pLinearizationParams) {
|
| +void CPDF_Document::LoadLinearizedDoc(CPDF_Dictionary* pLinearizationParams) {
|
| m_bLinearized = true;
|
| LoadDocInternal();
|
| - m_PageList.SetSize(pLinearizationParams->GetPageCount());
|
| - m_iFirstPageNo = pLinearizationParams->GetFirstPageNo();
|
| - m_dwFirstPageObjNum = pLinearizationParams->GetFirstPageObjNum();
|
| +
|
| + uint32_t dwPageCount = 0;
|
| + CPDF_Object* pCount = pLinearizationParams->GetObjectFor("N");
|
| + if (ToNumber(pCount))
|
| + dwPageCount = pCount->GetInteger();
|
| + m_PageList.SetSize(dwPageCount);
|
| +
|
| + CPDF_Object* pNo = pLinearizationParams->GetObjectFor("P");
|
| + if (ToNumber(pNo))
|
| + m_iFirstPageNo = pNo->GetInteger();
|
| +
|
| + CPDF_Object* pObjNum = pLinearizationParams->GetObjectFor("O");
|
| + if (ToNumber(pObjNum))
|
| + m_dwFirstPageObjNum = pObjNum->GetInteger();
|
| }
|
|
|
| void CPDF_Document::LoadPages() {
|
|
|