Index: core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp |
diff --git a/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp |
index 0b87e75f620fd3e90e34bfd56873f7d26aec1b8b..a85591ceef332173840852817adba7785f7d17fc 100644 |
--- a/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp |
+++ b/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp |
@@ -58,6 +58,7 @@ void CPDF_PageContentGenerator::GenerateContent() { |
m_pDocument->AddIndirectObject(pStream); |
pPageDict->SetAtReference("Contents", m_pDocument, pStream->GetObjNum()); |
} |
+ |
CFX_ByteString CPDF_PageContentGenerator::RealizeResource( |
CPDF_Object* pResourceObj, |
const CFX_ByteString& bsType) { |
@@ -84,6 +85,7 @@ CFX_ByteString CPDF_PageContentGenerator::RealizeResource( |
pResList->SetAtReference(name, m_pDocument, pResourceObj->GetObjNum()); |
return name; |
} |
+ |
void CPDF_PageContentGenerator::ProcessImage(CFX_ByteTextBuf& buf, |
CPDF_ImageObject* pImageObj) { |
if ((pImageObj->m_Matrix.a == 0 && pImageObj->m_Matrix.b == 0) || |
@@ -91,13 +93,13 @@ void CPDF_PageContentGenerator::ProcessImage(CFX_ByteTextBuf& buf, |
return; |
} |
buf << "q " << pImageObj->m_Matrix << " cm "; |
- if (!pImageObj->m_pImage->IsInline()) { |
- CPDF_Stream* pStream = pImageObj->m_pImage->GetStream(); |
+ CPDF_Image* pImage = pImageObj->GetImage(); |
+ if (!pImage->IsInline()) { |
+ CPDF_Stream* pStream = pImage->GetStream(); |
uint32_t dwSavedObjNum = pStream->GetObjNum(); |
CFX_ByteString name = RealizeResource(pStream, "XObject"); |
if (dwSavedObjNum == 0) { |
- if (pImageObj->m_pImage) |
- pImageObj->m_pImage->Release(); |
+ pImage->Release(); |
pImageObj->m_pImage = m_pDocument->GetPageData()->GetImage(pStream); |
} |
buf << "/" << PDF_NameEncode(name) << " Do Q\n"; |