diff options
Diffstat (limited to 'xfa/fwl/core/ifwl_listbox.cpp')
-rw-r--r-- | xfa/fwl/core/ifwl_listbox.cpp | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/xfa/fwl/core/ifwl_listbox.cpp b/xfa/fwl/core/ifwl_listbox.cpp index 7cd4c53ff3..b4b6c25136 100644 --- a/xfa/fwl/core/ifwl_listbox.cpp +++ b/xfa/fwl/core/ifwl_listbox.cpp @@ -6,6 +6,7 @@ #include "xfa/fwl/core/ifwl_listbox.h" +#include "third_party/base/ptr_util.h" #include "xfa/fde/tto/fde_textout.h" #include "xfa/fwl/core/cfwl_message.h" #include "xfa/fwl/core/cfwl_themebackground.h" @@ -33,25 +34,11 @@ IFWL_ListBox::IFWL_ListBox(const IFWL_App* app, m_rtClient.Reset(); m_rtConent.Reset(); m_rtStatic.Reset(); -} - -IFWL_ListBox::~IFWL_ListBox() {} -void IFWL_ListBox::Initialize() { - IFWL_Widget::Initialize(); - m_pDelegate = new CFWL_ListBoxImpDelegate(this); + SetDelegate(pdfium::MakeUnique<CFWL_ListBoxImpDelegate>(this)); } -void IFWL_ListBox::Finalize() { - if (m_pVertScrollBar) - m_pVertScrollBar->Finalize(); - if (m_pHorzScrollBar) - m_pHorzScrollBar->Finalize(); - - delete m_pDelegate; - m_pDelegate = nullptr; - IFWL_Widget::Finalize(); -} +IFWL_ListBox::~IFWL_ListBox() {} FWL_Type IFWL_ListBox::GetClassID() const { return FWL_Type::ListBox; @@ -896,9 +883,8 @@ void IFWL_ListBox::InitScrollBar(FX_BOOL bVert) { prop.m_dwStates = FWL_WGTSTATE_Invisible; prop.m_pParent = this; prop.m_pThemeProvider = m_pScrollBarTP; - IFWL_ScrollBar* pScrollBar = new IFWL_ScrollBar(m_pOwnerApp, prop, this); - pScrollBar->Initialize(); - (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar)->reset(pScrollBar); + (bVert ? &m_pVertScrollBar : &m_pHorzScrollBar) + ->reset(new IFWL_ScrollBar(m_pOwnerApp, prop, this)); } FX_BOOL IFWL_ListBox::IsShowScrollBar(FX_BOOL bVert) { |