From 6f26db4dcbc64cc3602ffe22d1178a1abca83c96 Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Mon, 9 Apr 2018 17:18:24 +0000 Subject: Remove m_pOldFocusWidget from CXFA_FFDocView. It can be refactored to a local, then the local can be refactored out too. There should be no functional changes. Change-Id: I4b49cbf27736f856a567db5db952c03aba743818 Reviewed-on: https://pdfium-review.googlesource.com/29911 Commit-Queue: Ryan Harrison Reviewed-by: Ryan Harrison Reviewed-by: Lei Zhang --- xfa/fxfa/cxfa_ffdocview.cpp | 43 +++++++++++++++++++------------------------ xfa/fxfa/cxfa_ffdocview.h | 3 +-- 2 files changed, 20 insertions(+), 26 deletions(-) (limited to 'xfa') diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp index 86a2a9fee9..51277c91ae 100644 --- a/xfa/fxfa/cxfa_ffdocview.cpp +++ b/xfa/fxfa/cxfa_ffdocview.cpp @@ -261,44 +261,40 @@ CXFA_FFDocView::CreateReadyNodeIterator() { : nullptr; } -bool CXFA_FFDocView::SetFocus(CXFA_FFWidget* hWidget) { - CXFA_FFWidget* pNewFocus = hWidget; - if (m_pOldFocusWidget == pNewFocus) +bool CXFA_FFDocView::SetFocus(CXFA_FFWidget* pNewFocus) { + CXFA_FFWidget* pOldFocus = m_pFocusWidget.Get(); + + if (pOldFocus == pNewFocus) return false; - CXFA_FFWidget* pOldFocus = m_pOldFocusWidget.Get(); - m_pOldFocusWidget = pNewFocus; if (pOldFocus) { - if (m_pFocusWidget != m_pOldFocusWidget && - (pOldFocus->GetStatus() & XFA_WidgetStatus_Focused)) { - m_pFocusWidget = pOldFocus; - pOldFocus->OnKillFocus(pNewFocus); - } else if ((pOldFocus->GetStatus() & XFA_WidgetStatus_Visible)) { + if (!(pOldFocus->GetStatus() & XFA_WidgetStatus_Focused) && + (pOldFocus->GetStatus() & XFA_WidgetStatus_Visible)) { if (!pOldFocus->IsLoaded()) pOldFocus->LoadWidget(); - pOldFocus->OnSetFocus(m_pFocusWidget.Get()); - m_pFocusWidget = pOldFocus; - pOldFocus->OnKillFocus(pNewFocus); + pOldFocus->OnSetFocus(pOldFocus); } - } - if (m_pFocusWidget == m_pOldFocusWidget) - return false; - pNewFocus = m_pOldFocusWidget.Get(); - if (pNewFocus && (pNewFocus->GetStatus() & XFA_WidgetStatus_Visible)) { - if (!pNewFocus->IsLoaded()) - pNewFocus->LoadWidget(); - pNewFocus->OnSetFocus(m_pFocusWidget.Get()); + pOldFocus->OnKillFocus(pNewFocus); } + if (pNewFocus) { + if (pNewFocus->GetStatus() & XFA_WidgetStatus_Visible) { + if (!pNewFocus->IsLoaded()) + pNewFocus->LoadWidget(); + + pNewFocus->OnSetFocus(pOldFocus); + } + CXFA_Node* node = pNewFocus->GetNode(); m_pFocusNode = node->IsWidgetReady() ? node : nullptr; + m_pFocusWidget = pNewFocus; } else { m_pFocusNode = nullptr; + m_pFocusWidget = nullptr; } - m_pFocusWidget = pNewFocus; - m_pOldFocusWidget = m_pFocusWidget; + return true; } @@ -323,7 +319,6 @@ void CXFA_FFDocView::DeleteLayoutItem(CXFA_FFWidget* pWidget) { m_pFocusNode = nullptr; m_pFocusWidget = nullptr; - m_pOldFocusWidget = nullptr; } static int32_t XFA_ProcessEvent(CXFA_FFDocView* pDocView, diff --git a/xfa/fxfa/cxfa_ffdocview.h b/xfa/fxfa/cxfa_ffdocview.h index dbc7672caa..2b8358264c 100644 --- a/xfa/fxfa/cxfa_ffdocview.h +++ b/xfa/fxfa/cxfa_ffdocview.h @@ -60,7 +60,7 @@ class CXFA_FFDocView { CXFA_FFWidgetHandler* GetWidgetHandler(); std::unique_ptr CreateReadyNodeIterator(); CXFA_FFWidget* GetFocusWidget() const { return m_pFocusWidget.Get(); } - bool SetFocus(CXFA_FFWidget* hWidget); + bool SetFocus(CXFA_FFWidget* pNewFocus); CXFA_FFWidget* GetWidgetForNode(CXFA_Node* node); CXFA_FFWidget* GetWidgetByName(const WideString& wsName, CXFA_FFWidget* pRefWidget); @@ -118,7 +118,6 @@ class CXFA_FFDocView { CXFA_LayoutProcessor* m_pXFADocLayout = nullptr; // Not owned. UnownedPtr m_pFocusNode; UnownedPtr m_pFocusWidget; - UnownedPtr m_pOldFocusWidget; std::vector m_ValidateNodes; std::vector m_CalculateNodes; std::vector m_BindItems; -- cgit v1.2.3