| Index: xfa/fxfa/parser/cxfa_document.cpp
|
| diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp
|
| index b5c7ea1f62e5f60ed84f8f3e59bca0e79b283fd9..374fb98c529addc0acc96f0830cd9f6284505f0e 100644
|
| --- a/xfa/fxfa/parser/cxfa_document.cpp
|
| +++ b/xfa/fxfa/parser/cxfa_document.cpp
|
| @@ -351,7 +351,7 @@ void CXFA_Document::DoProtoMerge() {
|
| if (!pTemplateRoot)
|
| return;
|
|
|
| - CFX_MapPtrTemplate<uint32_t, CXFA_Node*> mIDMap;
|
| + std::map<uint32_t, CXFA_Node*> mIDMap;
|
| CXFA_NodeSet sUseNodes;
|
| CXFA_NodeIterator sIterator(pTemplateRoot);
|
| for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode;
|
| @@ -410,13 +410,13 @@ void CXFA_Document::DoProtoMerge() {
|
| XFA_RESOLVENODE_RS resoveNodeRS;
|
| int32_t iRet = m_pScriptContext->ResolveObjects(pUseHrefNode, wsSOM,
|
| resoveNodeRS, dwFlag);
|
| - if (iRet > 0 && resoveNodeRS.nodes[0]->IsNode()) {
|
| + if (iRet > 0 && resoveNodeRS.nodes[0]->IsNode())
|
| pProtoNode = resoveNodeRS.nodes[0]->AsNode();
|
| - }
|
| } else if (!wsID.IsEmpty()) {
|
| - if (!mIDMap.Lookup(FX_HashCode_GetW(wsID, false), pProtoNode)) {
|
| + auto it = mIDMap.find(FX_HashCode_GetW(wsID, false));
|
| + if (it == mIDMap.end())
|
| continue;
|
| - }
|
| + pProtoNode = it->second;
|
| }
|
| if (!pProtoNode)
|
| continue;
|
|
|