diff options
-rw-r--r-- | fxjs/xfa/cjx_field.cpp | 3 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffarc.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffdatetimeedit.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffimage.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffimageedit.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffline.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffrectangle.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_widgetacc.cpp | 9 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.h | 2 |
10 files changed, 15 insertions, 13 deletions
diff --git a/fxjs/xfa/cjx_field.cpp b/fxjs/xfa/cjx_field.cpp index 0007bad592..299c6ef3a4 100644 --- a/fxjs/xfa/cjx_field.cpp +++ b/fxjs/xfa/cjx_field.cpp @@ -272,7 +272,8 @@ void CJX_Field::defaultValue(CFXJSE_Value* pValue, } CXFA_Node* pUIChild = pWidgetAcc->GetUIChild(); - CXFA_Node* pNode = xfaNode->GetFormValue()->GetFirstChild(); + CXFA_Node* formValue = xfaNode->GetFormValueIfExists(); + CXFA_Node* pNode = formValue ? formValue->GetFirstChild() : nullptr; if (pNode && pNode->GetElementType() == XFA_Element::Decimal) { if (pUIChild->GetElementType() == XFA_Element::NumericEdit && (pNode->JSObject()->GetInteger(XFA_Attribute::FracDigits) == -1)) { diff --git a/xfa/fxfa/cxfa_ffarc.cpp b/xfa/fxfa/cxfa_ffarc.cpp index 0b1647b915..a738221b05 100644 --- a/xfa/fxfa/cxfa_ffarc.cpp +++ b/xfa/fxfa/cxfa_ffarc.cpp @@ -19,7 +19,7 @@ void CXFA_FFArc::RenderWidget(CXFA_Graphics* pGS, if (!IsMatchVisibleStatus(dwStatus)) return; - CXFA_Value* value = m_pNode->GetFormValue(); + CXFA_Value* value = m_pNode->GetFormValueIfExists(); if (!value) return; diff --git a/xfa/fxfa/cxfa_ffdatetimeedit.cpp b/xfa/fxfa/cxfa_ffdatetimeedit.cpp index 018830024b..d6bd096e54 100644 --- a/xfa/fxfa/cxfa_ffdatetimeedit.cpp +++ b/xfa/fxfa/cxfa_ffdatetimeedit.cpp @@ -53,7 +53,7 @@ bool CXFA_FFDateTimeEdit::LoadWidget() { m_pNode->GetWidgetAcc()->GetValue(XFA_VALUEPICTURE_Display); pWidget->SetEditText(wsText); - CXFA_Value* value = m_pNode->GetFormValue(); + CXFA_Value* value = m_pNode->GetFormValueIfExists(); if (value) { switch (value->GetChildValueClassID()) { case XFA_Element::Date: { diff --git a/xfa/fxfa/cxfa_ffimage.cpp b/xfa/fxfa/cxfa_ffimage.cpp index 4fb5f159ed..3a5a63a1e4 100644 --- a/xfa/fxfa/cxfa_ffimage.cpp +++ b/xfa/fxfa/cxfa_ffimage.cpp @@ -70,7 +70,7 @@ void CXFA_FFImage::RenderWidget(CXFA_Graphics* pGS, int32_t iImageXDpi = 0; int32_t iImageYDpi = 0; m_pNode->GetWidgetAcc()->GetImageDpi(iImageXDpi, iImageYDpi); - auto* value = m_pNode->GetFormValue(); + auto* value = m_pNode->GetFormValueIfExists(); CXFA_Image* image = value ? value->GetImage() : nullptr; XFA_DrawImage(pGS, rtImage, mtRotate, pDIBitmap, image->GetAspect(), iImageXDpi, iImageYDpi, iHorzAlign, iVertAlign); diff --git a/xfa/fxfa/cxfa_ffimageedit.cpp b/xfa/fxfa/cxfa_ffimageedit.cpp index 15d798c30c..15a8dc3fd4 100644 --- a/xfa/fxfa/cxfa_ffimageedit.cpp +++ b/xfa/fxfa/cxfa_ffimageedit.cpp @@ -82,7 +82,7 @@ void CXFA_FFImageEdit::RenderWidget(CXFA_Graphics* pGS, } XFA_AttributeEnum iAspect = XFA_AttributeEnum::Fit; - CXFA_Value* value = m_pNode->GetFormValue(); + CXFA_Value* value = m_pNode->GetFormValueIfExists(); if (value) { CXFA_Image* image = value->GetImage(); if (image) diff --git a/xfa/fxfa/cxfa_ffline.cpp b/xfa/fxfa/cxfa_ffline.cpp index 45ff95380d..ee8ca1841a 100644 --- a/xfa/fxfa/cxfa_ffline.cpp +++ b/xfa/fxfa/cxfa_ffline.cpp @@ -87,7 +87,7 @@ void CXFA_FFLine::RenderWidget(CXFA_Graphics* pGS, if (!IsMatchVisibleStatus(dwStatus)) return; - CXFA_Value* value = m_pNode->GetFormValue(); + CXFA_Value* value = m_pNode->GetFormValueIfExists(); if (!value) return; diff --git a/xfa/fxfa/cxfa_ffrectangle.cpp b/xfa/fxfa/cxfa_ffrectangle.cpp index 93c4ea2afb..b3dd6f45c6 100644 --- a/xfa/fxfa/cxfa_ffrectangle.cpp +++ b/xfa/fxfa/cxfa_ffrectangle.cpp @@ -19,7 +19,7 @@ void CXFA_FFRectangle::RenderWidget(CXFA_Graphics* pGS, if (!IsMatchVisibleStatus(dwStatus)) return; - CXFA_Value* value = m_pNode->GetFormValue(); + CXFA_Value* value = m_pNode->GetFormValueIfExists(); if (!value) return; diff --git a/xfa/fxfa/cxfa_widgetacc.cpp b/xfa/fxfa/cxfa_widgetacc.cpp index 5c2c168343..d7fa3ccde9 100644 --- a/xfa/fxfa/cxfa_widgetacc.cpp +++ b/xfa/fxfa/cxfa_widgetacc.cpp @@ -95,7 +95,7 @@ class CXFA_ImageLayoutData : public CXFA_WidgetLayoutData { if (m_pDIBitmap) return true; - CXFA_Value* value = pAcc->GetNode()->GetFormValue(); + CXFA_Value* value = pAcc->GetNode()->GetFormValueIfExists(); if (!value) return false; @@ -152,7 +152,7 @@ class CXFA_ImageEditData : public CXFA_FieldLayoutData { if (m_pDIBitmap) return true; - CXFA_Value* value = pAcc->GetNode()->GetFormValue(); + CXFA_Value* value = pAcc->GetNode()->GetFormValueIfExists(); if (!value) return false; @@ -439,7 +439,7 @@ void CXFA_WidgetAcc::ResetData() { void CXFA_WidgetAcc::SetImageEdit(const WideString& wsContentType, const WideString& wsHref, const WideString& wsData) { - CXFA_Value* formValue = m_pNode->GetFormValue(); + CXFA_Value* formValue = m_pNode->GetFormValueIfExists(); CXFA_Image* image = formValue ? formValue->GetImage() : nullptr; if (image) { image->SetContentType(WideString(wsContentType)); @@ -451,7 +451,8 @@ void CXFA_WidgetAcc::SetImageEdit(const WideString& wsContentType, CXFA_Node* pBind = m_pNode->GetBindData(); if (!pBind) { - image->SetTransferEncoding(XFA_AttributeEnum::Base64); + if (image) + image->SetTransferEncoding(XFA_AttributeEnum::Base64); return; } pBind->JSObject()->SetCData(XFA_Attribute::ContentType, wsContentType, false, diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index ed2093cb7a..9c28668c16 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -1600,7 +1600,7 @@ CXFA_Value* CXFA_Node::GetDefaultValueIfExists() { : nullptr; } -CXFA_Value* CXFA_Node::GetFormValue() const { +CXFA_Value* CXFA_Node::GetFormValueIfExists() const { return JSObject()->GetProperty<CXFA_Value>(0, XFA_Element::Value); } diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index 7aea742a96..8a0a3610a6 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -253,7 +253,7 @@ class CXFA_Node : public CXFA_Object { CXFA_Validate* GetOrCreateValidateIfPossible(); CXFA_Value* GetDefaultValueIfExists(); - CXFA_Value* GetFormValue() const; + CXFA_Value* GetFormValueIfExists() const; WideString GetRawValue(); int32_t GetRotate(); |