| Index: xfa/fwl/core/ifwl_combolist.cpp
|
| diff --git a/xfa/fwl/core/ifwl_combolist.cpp b/xfa/fwl/core/ifwl_combolist.cpp
|
| index 23392a5c70c7e28895711bdb9f38758776f2d18d..0fdc5ac6d9973853bf5bc037852ffa5126e69167 100644
|
| --- a/xfa/fwl/core/ifwl_combolist.cpp
|
| +++ b/xfa/fwl/core/ifwl_combolist.cpp
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "xfa/fwl/core/ifwl_combolist.h"
|
|
|
| +#include "third_party/base/ptr_util.h"
|
| #include "xfa/fwl/core/ifwl_combobox.h"
|
| #include "xfa/fwl/core/ifwl_comboedit.h"
|
|
|
| @@ -14,20 +15,7 @@ IFWL_ComboList::IFWL_ComboList(const IFWL_App* app,
|
| IFWL_Widget* pOuter)
|
| : IFWL_ListBox(app, properties, pOuter), m_bNotifyOwner(TRUE) {
|
| ASSERT(pOuter);
|
| -}
|
| -
|
| -void IFWL_ComboList::Initialize() {
|
| - IFWL_ListBox::Initialize();
|
| -
|
| - // Delete the delegate that was created by IFWL_ListBox::Initialize ...
|
| - delete m_pDelegate;
|
| - m_pDelegate = new CFWL_ComboListImpDelegate(this);
|
| -}
|
| -
|
| -void IFWL_ComboList::Finalize() {
|
| - delete m_pDelegate;
|
| - m_pDelegate = nullptr;
|
| - IFWL_ListBox::Finalize();
|
| + SetDelegate(pdfium::MakeUnique<CFWL_ComboListImpDelegate>(this));
|
| }
|
|
|
| int32_t IFWL_ComboList::MatchItem(const CFX_WideString& wsMatch) {
|
| @@ -195,7 +183,7 @@ int32_t CFWL_ComboListImpDelegate::OnDropListMouseMove(CFWL_MsgMouse* pMsg) {
|
| } else if (m_pOwner->m_bNotifyOwner) {
|
| m_pOwner->ClientToOuter(pMsg->m_fx, pMsg->m_fy);
|
| IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOwner->m_pOuter);
|
| - pOuter->m_pDelegate->OnProcessMessage(pMsg);
|
| + pOuter->GetDelegate()->OnProcessMessage(pMsg);
|
| }
|
| return 1;
|
| }
|
| @@ -213,7 +201,7 @@ int32_t CFWL_ComboListImpDelegate::OnDropListLButtonUp(CFWL_MsgMouse* pMsg) {
|
| IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOwner->m_pOuter);
|
| if (m_pOwner->m_bNotifyOwner) {
|
| m_pOwner->ClientToOuter(pMsg->m_fx, pMsg->m_fy);
|
| - pOuter->m_pDelegate->OnProcessMessage(pMsg);
|
| + pOuter->GetDelegate()->OnProcessMessage(pMsg);
|
| } else {
|
| if (m_pOwner->IsShowScrollBar(TRUE) && m_pOwner->m_pVertScrollBar) {
|
| CFX_RectF rect;
|
| @@ -255,7 +243,7 @@ int32_t CFWL_ComboListImpDelegate::OnDropListKey(CFWL_MsgKey* pKey) {
|
| }
|
| if (bPropagate) {
|
| pKey->m_pDstTarget = m_pOwner->m_pOuter;
|
| - pOuter->m_pDelegate->OnProcessMessage(pKey);
|
| + pOuter->GetDelegate()->OnProcessMessage(pKey);
|
| return 1;
|
| }
|
| return 0;
|
|
|