summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_node.h7
2 files changed, 8 insertions, 1 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 935392373a..6a510cc0d4 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -1992,7 +1992,7 @@ int32_t CXFA_Node::ProcessNullTestValidate(CXFA_FFDocView* docView,
bool bVersionFlag) {
if (!GetWidgetAcc()->GetValue(XFA_VALUEPICTURE_Raw).IsEmpty())
return XFA_EVENTERROR_Success;
- if (GetWidgetAcc()->IsNull() && GetWidgetAcc()->IsPreNull())
+ if (m_bIsNull && m_bPreNull)
return XFA_EVENTERROR_Success;
XFA_AttributeEnum eNullTest = validate->GetNullTest();
diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h
index 4fae752ea0..e99180e0dd 100644
--- a/xfa/fxfa/parser/cxfa_node.h
+++ b/xfa/fxfa/parser/cxfa_node.h
@@ -299,6 +299,11 @@ class CXFA_Node : public CXFA_Object {
CFX_RectF GetUIMargin();
CXFA_Border* GetUIBorder();
+ bool IsPreNull() const { return m_bPreNull; }
+ void SetPreNull(bool val) { m_bPreNull = val; }
+ bool IsNull() const { return m_bIsNull; }
+ void SetIsNull(bool val) { m_bIsNull = val; }
+
protected:
CXFA_Node(CXFA_Document* pDoc,
XFA_PacketType ePacket,
@@ -364,6 +369,8 @@ class CXFA_Node : public CXFA_Object {
std::vector<UnownedPtr<CXFA_Node>> binding_nodes_;
CXFA_Node* m_pUiChildNode = nullptr;
XFA_Element m_eUIType = XFA_Element::Unknown;
+ bool m_bIsNull = true;
+ bool m_bPreNull = true;
};
#endif // XFA_FXFA_PARSER_CXFA_NODE_H_