diff options
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.h | 7 |
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_ |