Chromium Code Reviews| 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) { |