diff options
Diffstat (limited to 'fxjs/cfxjse_engine.cpp')
-rw-r--r-- | fxjs/cfxjse_engine.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fxjs/cfxjse_engine.cpp b/fxjs/cfxjse_engine.cpp index 179866b555..535ec41160 100644 --- a/fxjs/cfxjse_engine.cpp +++ b/fxjs/cfxjse_engine.cpp @@ -351,10 +351,12 @@ void CFXJSE_Engine::NormalPropertySetter(CFXJSE_Value* pOriginalValue, CXFA_Node* pNode = ToNode(pObject); CXFA_Node* pPropOrChild = nullptr; XFA_Element eType = CXFA_Node::NameToElement(wsPropName); - if (eType != XFA_Element::Unknown) - pPropOrChild = pNode->JSObject()->GetProperty<CXFA_Node>(0, eType, true); - else + if (eType != XFA_Element::Unknown) { + pPropOrChild = + pNode->JSObject()->GetOrCreateProperty<CXFA_Node>(0, eType); + } else { pPropOrChild = pNode->GetFirstChildByName(wsPropName.AsStringView()); + } if (pPropOrChild) { const XFA_SCRIPTATTRIBUTEINFO* lpAttrInfo = XFA_GetScriptAttributeByName( |