summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/ifwl_widget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/core/ifwl_widget.cpp')
-rw-r--r--xfa/fwl/core/ifwl_widget.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp
index eb8b1281e9..da90c4892d 100644
--- a/xfa/fwl/core/ifwl_widget.cpp
+++ b/xfa/fwl/core/ifwl_widget.cpp
@@ -100,10 +100,9 @@ FWL_Error IFWL_Widget::SetWidgetRect(const CFX_RectF& rect) {
ev.m_pSrcTarget = this;
ev.m_rtOld = rtOld;
ev.m_rtNew = rect;
- IFWL_WidgetDelegate* pDelegate = SetDelegate(nullptr);
- if (pDelegate) {
+
+ if (IFWL_WidgetDelegate* pDelegate = GetCurrentDelegate())
pDelegate->OnProcessEvent(&ev);
- }
}
return FWL_Error::Succeeded;
}
@@ -353,16 +352,14 @@ FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
return FWL_Error::Succeeded;
}
-IFWL_WidgetDelegate* IFWL_Widget::SetDelegate(IFWL_WidgetDelegate* pDelegate) {
- if (!m_pCurDelegate) {
+IFWL_WidgetDelegate* IFWL_Widget::GetCurrentDelegate() {
+ if (!m_pCurDelegate)
m_pCurDelegate = m_pDelegate;
- }
- if (!pDelegate) {
- return m_pCurDelegate;
- }
- IFWL_WidgetDelegate* pOldDelegate = m_pCurDelegate;
+ return m_pCurDelegate;
+}
+
+void IFWL_Widget::SetCurrentDelegate(IFWL_WidgetDelegate* pDelegate) {
m_pCurDelegate = pDelegate;
- return pOldDelegate;
}
const IFWL_App* IFWL_Widget::GetOwnerApp() const {
@@ -727,8 +724,7 @@ void IFWL_Widget::DispatchKeyEvent(CFWL_MsgKey* pNote) {
void IFWL_Widget::DispatchEvent(CFWL_Event* pEvent) {
if (m_pOuter) {
- IFWL_WidgetDelegate* pDelegate = m_pOuter->SetDelegate(nullptr);
- pDelegate->OnProcessEvent(pEvent);
+ m_pOuter->GetCurrentDelegate()->OnProcessEvent(pEvent);
return;
}
const IFWL_App* pApp = GetOwnerApp();