From 7936fd1091f3101ba99c270e9d83a66b798cee39 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 19 May 2017 16:12:24 -0700 Subject: Use unowned ptr from CXFA_FFDocView to CXFA_FFDoc There's an unique_ptr going in the other direction, so it must outlive this. Change-Id: I28a77fbff67e6682360414e26c807d707602e140 Reviewed-on: https://pdfium-review.googlesource.com/5736 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- xfa/fxfa/cxfa_ffdocview.cpp | 22 ++++++++++++---------- xfa/fxfa/cxfa_ffdocview.h | 4 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp index c1a8a67336..d021740edc 100644 --- a/xfa/fxfa/cxfa_ffdocview.cpp +++ b/xfa/fxfa/cxfa_ffdocview.cpp @@ -253,7 +253,7 @@ void CXFA_FFDocView::ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc) { } } if (bChanged) { - m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc); + m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc.Get()); } } int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, @@ -382,7 +382,8 @@ void CXFA_FFDocView::SetFocusWidgetAcc(CXFA_WidgetAcc* pWidgetAcc) { if (SetFocus(pNewFocus)) { m_pFocusAcc = pWidgetAcc; if (m_iStatus == XFA_DOCVIEW_LAYOUTSTATUS_End) - m_pDoc->GetDocEnvironment()->SetFocusWidget(m_pDoc, m_pFocusWidget.Get()); + m_pDoc->GetDocEnvironment()->SetFocusWidget(m_pDoc.Get(), + m_pFocusWidget.Get()); } } @@ -663,7 +664,7 @@ void CXFA_FFDocView::RunCalculateRecursive(int32_t& iIndex) { } int32_t CXFA_FFDocView::RunCalculateWidgets() { - if (!m_pDoc->GetDocEnvironment()->IsCalculationsEnabled(m_pDoc)) { + if (!m_pDoc->GetDocEnvironment()->IsCalculationsEnabled(m_pDoc.Get())) { return XFA_EVENTERROR_Disabled; } int32_t iCounts = pdfium::CollectionSize(m_CalculateAccs); @@ -690,7 +691,7 @@ bool CXFA_FFDocView::InitCalculate(CXFA_Node* pNode) { } bool CXFA_FFDocView::InitValidate(CXFA_Node* pNode) { - if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc)) + if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc.Get())) return false; ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Validate, false, true, nullptr); @@ -699,7 +700,7 @@ bool CXFA_FFDocView::InitValidate(CXFA_Node* pNode) { } bool CXFA_FFDocView::RunValidate() { - if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc)) + if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc.Get())) return false; for (CXFA_WidgetAcc* pAcc : m_ValidateAccs) { @@ -783,16 +784,17 @@ void CXFA_FFDocView::RunBindItems() { } void CXFA_FFDocView::SetChangeMark() { - if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) { + if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) return; - } - m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc); + + m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc.Get()); } + CXFA_Node* CXFA_FFDocView::GetRootSubform() { CXFA_Node* pFormPacketNode = ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); - if (!pFormPacketNode) { + if (!pFormPacketNode) return nullptr; - } + return pFormPacketNode->GetFirstChildByClass(XFA_Element::Subform); } diff --git a/xfa/fxfa/cxfa_ffdocview.h b/xfa/fxfa/cxfa_ffdocview.h index 83d077b548..3164bcfb6a 100644 --- a/xfa/fxfa/cxfa_ffdocview.h +++ b/xfa/fxfa/cxfa_ffdocview.h @@ -43,7 +43,7 @@ class CXFA_FFDocView { explicit CXFA_FFDocView(CXFA_FFDoc* pDoc); ~CXFA_FFDocView(); - CXFA_FFDoc* GetDoc() { return m_pDoc; } + CXFA_FFDoc* GetDoc() { return m_pDoc.Get(); } int32_t StartLayout(int32_t iStartPage = 0); int32_t DoLayout(); void StopLayout(); @@ -116,7 +116,7 @@ class CXFA_FFDocView { bool ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc); CXFA_Node* GetRootSubform(); - CXFA_FFDoc* const m_pDoc; + CFX_UnownedPtr const m_pDoc; std::unique_ptr m_pWidgetHandler; CXFA_LayoutProcessor* m_pXFADocLayout; // Not owned. CFX_UnownedPtr m_pFocusAcc; -- cgit v1.2.3