Index: core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp |
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp |
index 79bfbdb13a8cea3a336c4845df9ef4c1099b28c8..32802d00016385b7d0a298598bb83fc3563e4837 100644 |
--- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp |
+++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp |
@@ -120,13 +120,11 @@ void CPDF_PageContentGenerate::ProcessForm(CFX_ByteTextBuf& buf, |
void CPDF_PageContentGenerate::TransformContent(CFX_Matrix& matrix) { |
CPDF_Dictionary* pDict = m_pPage->m_pFormDict; |
CPDF_Object* pContent = pDict ? pDict->GetElementValue("Contents") : NULL; |
- if (!pContent) { |
+ if (!pContent) |
return; |
- } |
+ |
CFX_ByteTextBuf buf; |
- int type = pContent->GetType(); |
- if (type == PDFOBJ_ARRAY) { |
- CPDF_Array* pArray = (CPDF_Array*)pContent; |
+ if (CPDF_Array* pArray = pContent->AsArray()) { |
int iCount = pArray->GetCount(); |
CPDF_StreamAcc** pContentArray = FX_Alloc(CPDF_StreamAcc*, iCount); |
int size = 0; |
@@ -153,7 +151,7 @@ void CPDF_PageContentGenerate::TransformContent(CFX_Matrix& matrix) { |
ProcessForm(buf, pBuf, size, matrix); |
FX_Free(pBuf); |
FX_Free(pContentArray); |
- } else if (type == PDFOBJ_STREAM) { |
+ } else if (pContent->GetType() == PDFOBJ_STREAM) { |
CPDF_StreamAcc contentStream; |
contentStream.LoadAllData((CPDF_Stream*)pContent); |
ProcessForm(buf, contentStream.GetData(), contentStream.GetSize(), matrix); |