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..67b3b29737130e941c49b6e079d0ceedf06d6155 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; |
Bo Xu
2014/12/06 05:59:43
CJBig2_SymbolDict *dst = NULL
jab
2014/12/08 21:00:03
Done.
|
+ CJBig2_SymbolDict *src = this; |
+ if (src->m_bContextRetained || |
Bo Xu
2014/12/06 05:59:43
Nit: maybe can set the tab space = 4 to match the
jab
2014/12/08 21:00:03
Done.
|
+ 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]))); |
Bo Xu
2014/12/06 05:59:43
Seems only memory alloc but not actually copied, d
jab
2014/12/08 21:00:03
I am following the example in line 2566 of JBig2_G
Bo Xu
2014/12/08 23:00:17
That's right, I missed that.
|
+ } |
+ return dst; |
+} |
+ |
CJBig2_SymbolDict::~CJBig2_SymbolDict() |
{ |
if(SDEXSYMS) { |