Index: fpdfsdk/src/fpdf_flatten.cpp |
diff --git a/fpdfsdk/src/fpdf_flatten.cpp b/fpdfsdk/src/fpdf_flatten.cpp |
index c81955d6ca4b3e77bd09d162b3171f724df55410..ffe69dec0d531bec3dfc9ae41327468c6125a7ff 100644 |
--- a/fpdfsdk/src/fpdf_flatten.cpp |
+++ b/fpdfsdk/src/fpdf_flatten.cpp |
@@ -35,16 +35,14 @@ FX_BOOL IsValiableRect(CPDF_Rect rect, CPDF_Rect rcPage) { |
return TRUE; |
} |
-FX_BOOL GetContentsRect(CPDF_Document* pDoc, |
- CPDF_Dictionary* pDict, |
- CPDF_RectArray* pRectArray) { |
- CPDF_Page* pPDFPage = new CPDF_Page; |
+void GetContentsRect(CPDF_Document* pDoc, |
+ CPDF_Dictionary* pDict, |
+ CPDF_RectArray* pRectArray) { |
+ std::unique_ptr<CPDF_Page> pPDFPage(new CPDF_Page); |
pPDFPage->Load(pDoc, pDict, FALSE); |
pPDFPage->ParseContent(nullptr); |
- FX_POSITION pos = pPDFPage->GetFirstObjectPosition(); |
- while (pos) { |
- CPDF_PageObject* pPageObject = pPDFPage->GetNextObject(pos); |
+ for (const auto& pPageObject : *pPDFPage) { |
Oliver Chang
2016/01/21 23:58:46
premature change?
|
if (!pPageObject) |
continue; |
@@ -54,13 +52,9 @@ FX_BOOL GetContentsRect(CPDF_Document* pDoc, |
rc.bottom = pPageObject->m_Bottom; |
rc.top = pPageObject->m_Top; |
- if (IsValiableRect(rc, pDict->GetRect("MediaBox"))) { |
+ if (IsValiableRect(rc, pDict->GetRect("MediaBox"))) |
pRectArray->Add(rc); |
- } |
} |
- |
- delete pPDFPage; |
- return TRUE; |
} |
void ParserStream(CPDF_Dictionary* pPageDic, |