diff options
author | weili <weili@chromium.org> | 2016-07-24 08:26:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-24 08:26:50 -0700 |
commit | 0024a22b4a793630a1a8e8d85c4525c7b82a3ed7 (patch) | |
tree | 09cc3dc3ff26e231a82787c602834cdf2da26fb0 /core/fxcodec/jbig2 | |
parent | 9f515bcccb40e8ae251bbe8afc1ef6c4db1f05a8 (diff) | |
download | pdfium-0024a22b4a793630a1a8e8d85c4525c7b82a3ed7.tar.xz |
Remove CFX_Deletable
Change the last use of CFX_Deletable to its actual type and remove
the use of CFX_Deletable.
Review-Url: https://codereview.chromium.org/2178613002
Diffstat (limited to 'core/fxcodec/jbig2')
-rw-r--r-- | core/fxcodec/jbig2/JBig2_Context.cpp | 6 | ||||
-rw-r--r-- | core/fxcodec/jbig2/JBig2_Context.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/core/fxcodec/jbig2/JBig2_Context.cpp b/core/fxcodec/jbig2/JBig2_Context.cpp index 1e4c35a625..256ce3910a 100644 --- a/core/fxcodec/jbig2/JBig2_Context.cpp +++ b/core/fxcodec/jbig2/JBig2_Context.cpp @@ -591,7 +591,8 @@ int32_t CJBig2_Context::parseSymbolDict(CJBig2_Segment* pSegment, if (it->first == key) { std::unique_ptr<CJBig2_SymbolDict> copy(it->second->DeepCopy()); pSegment->m_Result.sd = copy.release(); - m_pSymbolDictCache->push_front(*it); + m_pSymbolDictCache->push_front( + CJBig2_CachePair(key, std::move(it->second))); m_pSymbolDictCache->erase(it); cache_hit = true; break; @@ -621,11 +622,10 @@ int32_t CJBig2_Context::parseSymbolDict(CJBig2_Segment* pSegment, pSegment->m_Result.sd->DeepCopy(); int size = pdfium::CollectionSize<int>(*m_pSymbolDictCache); while (size >= kSymbolDictCacheMaxSize) { - delete m_pSymbolDictCache->back().second; m_pSymbolDictCache->pop_back(); --size; } - m_pSymbolDictCache->push_front(CJBig2_CachePair(key, value.release())); + m_pSymbolDictCache->push_front(CJBig2_CachePair(key, std::move(value))); } } if (wFlags & 0x0200) { diff --git a/core/fxcodec/jbig2/JBig2_Context.h b/core/fxcodec/jbig2/JBig2_Context.h index 1577b22d37..a0e1a8fcac 100644 --- a/core/fxcodec/jbig2/JBig2_Context.h +++ b/core/fxcodec/jbig2/JBig2_Context.h @@ -25,8 +25,8 @@ class IFX_Pause; // Cache is keyed by the ObjNum of a stream and an index within the stream. using CJBig2_CacheKey = std::pair<uint32_t, uint32_t>; -// NB: CJBig2_SymbolDict* is owned. -using CJBig2_CachePair = std::pair<CJBig2_CacheKey, CJBig2_SymbolDict*>; +using CJBig2_CachePair = + std::pair<CJBig2_CacheKey, std::unique_ptr<CJBig2_SymbolDict>>; #define JBIG2_SUCCESS 0 #define JBIG2_FAILED -1 |