diff options
author | tsepez <tsepez@chromium.org> | 2016-10-13 15:56:53 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-13 15:56:53 -0700 |
commit | 4e4d1a662b09d9ee1dc93dd8ee37694d3c4eb519 (patch) | |
tree | ef6c2b6e8915ac1463d7fb50f8275e3422d41506 /core/fpdfapi/page/cpdf_docpagedata.cpp | |
parent | 36bad2b022014ea7161fe888fec1191d2ba6b894 (diff) | |
download | pdfium-4e4d1a662b09d9ee1dc93dd8ee37694d3c4eb519.tar.xz |
Make CPDF_Image() constructors saner.chromium/2890
Introduce the UniqueDictionary typedef and friends, to allow
moving to unique_ptrs before the Release() deleter issue is
fully resolved. This will go away down the road.
Review-Url: https://codereview.chromium.org/2420743002
Diffstat (limited to 'core/fpdfapi/page/cpdf_docpagedata.cpp')
-rw-r--r-- | core/fpdfapi/page/cpdf_docpagedata.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/core/fpdfapi/page/cpdf_docpagedata.cpp b/core/fpdfapi/page/cpdf_docpagedata.cpp index 7a85e60da2..5f1f561ebb 100644 --- a/core/fpdfapi/page/cpdf_docpagedata.cpp +++ b/core/fpdfapi/page/cpdf_docpagedata.cpp @@ -397,14 +397,15 @@ CPDF_Image* CPDF_DocPageData::GetImage(CPDF_Object* pImageStream) { if (!pImageStream) return nullptr; - const uint32_t dwImageObjNum = pImageStream->GetObjNum(); - auto it = m_ImageMap.find(dwImageObjNum); + ASSERT(!pImageStream->IsInline()); + const uint32_t dwObjNum = pImageStream->GetObjNum(); + auto it = m_ImageMap.find(dwObjNum); if (it != m_ImageMap.end()) return it->second->AddRef(); - CPDF_CountedImage* pCountedImage = new CPDF_CountedImage( - new CPDF_Image(m_pPDFDoc, pImageStream->AsStream(), false)); - m_ImageMap[dwImageObjNum] = pCountedImage; + CPDF_CountedImage* pCountedImage = + new CPDF_CountedImage(new CPDF_Image(m_pPDFDoc, dwObjNum)); + m_ImageMap[dwObjNum] = pCountedImage; return pCountedImage->AddRef(); } |