Index: xfa/fwl/core/ifwl_widget.cpp |
diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp |
index da90c4892d25ddc6d93b59f1ac2e9bec3f7781c7..961c02497bd78e9a208a9986bc99ab3b466093c4 100644 |
--- a/xfa/fwl/core/ifwl_widget.cpp |
+++ b/xfa/fwl/core/ifwl_widget.cpp |
@@ -30,7 +30,6 @@ IFWL_Widget::IFWL_Widget(const IFWL_App* app, |
: m_pOwnerApp(app), |
m_pWidgetMgr(app->GetWidgetMgr()), |
m_pProperties(new CFWL_WidgetImpProperties(properties)), |
- m_pDelegate(nullptr), |
m_pCurDelegate(nullptr), |
m_pOuter(pOuter), |
m_pLayoutItem(nullptr), |
@@ -38,21 +37,18 @@ IFWL_Widget::IFWL_Widget(const IFWL_App* app, |
m_iLock(0), |
m_nEventKey(0) { |
ASSERT(m_pWidgetMgr); |
-} |
- |
-IFWL_Widget::~IFWL_Widget() {} |
-void IFWL_Widget::Initialize() { |
IFWL_Widget* pParent = m_pProperties->m_pParent; |
m_pWidgetMgr->InsertWidget(pParent, this); |
- if (!IsChild()) { |
- IFWL_Widget* pOwner = m_pProperties->m_pOwner; |
- if (pOwner) |
- m_pWidgetMgr->SetOwner(pOwner, this); |
- } |
+ if (IsChild()) |
+ return; |
+ |
+ IFWL_Widget* pOwner = m_pProperties->m_pOwner; |
+ if (pOwner) |
+ m_pWidgetMgr->SetOwner(pOwner, this); |
} |
-void IFWL_Widget::Finalize() { |
+IFWL_Widget::~IFWL_Widget() { |
NotifyDriver(); |
m_pWidgetMgr->RemoveWidget(this); |
} |
@@ -354,7 +350,7 @@ FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { |
IFWL_WidgetDelegate* IFWL_Widget::GetCurrentDelegate() { |
if (!m_pCurDelegate) |
- m_pCurDelegate = m_pDelegate; |
+ m_pCurDelegate = m_pDelegate.get(); |
return m_pCurDelegate; |
} |