diff options
Diffstat (limited to 'core/fxcodec/codec/fx_codec_jbig.cpp')
-rw-r--r-- | core/fxcodec/codec/fx_codec_jbig.cpp | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/core/fxcodec/codec/fx_codec_jbig.cpp b/core/fxcodec/codec/fx_codec_jbig.cpp index 8f2d07f490..adc57fd1ad 100644 --- a/core/fxcodec/codec/fx_codec_jbig.cpp +++ b/core/fxcodec/codec/fx_codec_jbig.cpp @@ -9,32 +9,20 @@ #include <list> #include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h" +#include "core/fxcodec/include/JBig2_DocumentContext.h" #include "core/fxcodec/jbig2/JBig2_Context.h" #include "core/fxcodec/jbig2/JBig2_Image.h" #include "core/fxcrt/include/fx_memory.h" -// Holds per-document JBig2 related data. -class JBig2DocumentContext : public CFX_Deletable { - public: - std::list<CJBig2_CachePair>* GetSymbolDictCache() { - return &m_SymbolDictCache; - } - - ~JBig2DocumentContext() override { - for (auto it : m_SymbolDictCache) { - delete it.second; - } - } +JBig2_DocumentContext::JBig2_DocumentContext() {} - private: - std::list<CJBig2_CachePair> m_SymbolDictCache; -}; +JBig2_DocumentContext::~JBig2_DocumentContext() {} -JBig2DocumentContext* GetJBig2DocumentContext( - std::unique_ptr<CFX_Deletable>* pContextHolder) { - if (!pContextHolder->get()) - pContextHolder->reset(new JBig2DocumentContext()); - return static_cast<JBig2DocumentContext*>(pContextHolder->get()); +JBig2_DocumentContext* GetJBig2DocumentContext( + std::unique_ptr<JBig2_DocumentContext>* pContextHolder) { + if (!pContextHolder) + pContextHolder->reset(new JBig2_DocumentContext()); + return pContextHolder->get(); } CCodec_Jbig2Context::CCodec_Jbig2Context() @@ -52,7 +40,7 @@ CCodec_Jbig2Module::~CCodec_Jbig2Module() {} FXCODEC_STATUS CCodec_Jbig2Module::StartDecode( CCodec_Jbig2Context* pJbig2Context, - std::unique_ptr<CFX_Deletable>* pContextHolder, + std::unique_ptr<JBig2_DocumentContext>* pContextHolder, uint32_t width, uint32_t height, CPDF_StreamAcc* src_stream, @@ -63,7 +51,7 @@ FXCODEC_STATUS CCodec_Jbig2Module::StartDecode( if (!pJbig2Context) return FXCODEC_STATUS_ERR_PARAMS; - JBig2DocumentContext* pJBig2DocumentContext = + JBig2_DocumentContext* pJBig2DocumentContext = GetJBig2DocumentContext(pContextHolder); pJbig2Context->m_width = width; pJbig2Context->m_height = height; |