XFA: merge patch from CL 761313004
[pdfium.git] / core / src / fxcodec / jbig2 / JBig2_SymbolDict.cpp
index 67e54c0..bad2fc4 100644 (file)
@@ -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) {