Index: core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp |
diff --git a/core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp b/core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp |
index 67e54c0ceab86cc19d7f27bdeb0433359719e319..bad2fc4bcece752e1ca8e527f1f43de1b2654d0d 100644 |
--- a/core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp |
+++ b/core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp |
@@ -13,6 +13,26 @@ CJBig2_SymbolDict::CJBig2_SymbolDict() |
m_gbContext = m_grContext = NULL; |
} |
+CJBig2_SymbolDict *CJBig2_SymbolDict::DeepCopy() |
+{ |
+ CJBig2_SymbolDict *dst = NULL; |
+ CJBig2_SymbolDict *src = this; |
+ if (src->m_bContextRetained || |
+ src->m_gbContext || |
+ src->m_grContext) { |
+ return NULL; |
+ } |
+ JBIG2_ALLOC(dst, CJBig2_SymbolDict()); |
+ dst->SDNUMEXSYMS = src->SDNUMEXSYMS; |
+ dst->SDEXSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2( |
+ sizeof(CJBig2_Image*), src->SDNUMEXSYMS); |
+ for(FX_DWORD i = 0; i < src->SDNUMEXSYMS; i++) { |
+ JBIG2_ALLOC(dst->SDEXSYMS[i], |
+ CJBig2_Image(*(src->SDEXSYMS[i]))); |
+ } |
+ return dst; |
+} |
+ |
CJBig2_SymbolDict::~CJBig2_SymbolDict() |
{ |
if(SDEXSYMS) { |