Index: xfa/fwl/core/ifwl_combobox.cpp |
diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp |
index 4be684abb9d726dc2f6c2f2c40daea264112e960..6d0a814157e168abb7f00fe687a206d987ceb5b8 100644 |
--- a/xfa/fwl/core/ifwl_combobox.cpp |
+++ b/xfa/fwl/core/ifwl_combobox.cpp |
@@ -23,8 +23,8 @@ |
#include "xfa/fwl/core/ifwl_themeprovider.h" |
IFWL_ComboBox::IFWL_ComboBox(const IFWL_App* app, |
- const CFWL_WidgetImpProperties& properties) |
- : IFWL_Widget(app, properties, nullptr), |
+ std::unique_ptr<CFWL_WidgetProperties> properties) |
+ : IFWL_Widget(app, std::move(properties), nullptr), |
m_pComboBoxProxy(nullptr), |
m_bLButtonDown(false), |
m_iCurSel(-1), |
@@ -41,17 +41,17 @@ IFWL_ComboBox::IFWL_ComboBox(const IFWL_App* app, |
return; |
} |
- CFWL_WidgetImpProperties prop; |
- prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- prop.m_dwStyles |= FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; |
+ auto prop = |
+ pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); |
+ prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
+ prop->m_dwStyles |= FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; |
if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_ListItemIconText) |
- prop.m_dwStyleExes |= FWL_STYLEEXT_LTB_Icon; |
+ prop->m_dwStyleExes |= FWL_STYLEEXT_LTB_Icon; |
- prop.m_pDataProvider = m_pProperties->m_pDataProvider; |
- m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, prop, this)); |
+ m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, std::move(prop), this)); |
if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CMB_DropDown) && !m_pEdit) { |
- CFWL_WidgetImpProperties prop2; |
- m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop2, this)); |
+ m_pEdit.reset(new IFWL_ComboEdit( |
+ m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), this)); |
m_pEdit->SetOuter(this); |
} |
if (m_pEdit) |
@@ -99,8 +99,8 @@ FWL_Error IFWL_ComboBox::ModifyStylesEx(uint32_t dwStylesExAdded, |
bool bAddDropDown = !!(dwStylesExAdded & FWL_STYLEEXT_CMB_DropDown); |
bool bRemoveDropDown = !!(dwStylesExRemoved & FWL_STYLEEXT_CMB_DropDown); |
if (bAddDropDown && !m_pEdit) { |
- CFWL_WidgetImpProperties prop; |
- m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop, nullptr)); |
+ m_pEdit.reset(new IFWL_ComboEdit( |
+ m_pOwnerApp, pdfium::MakeUnique<CFWL_WidgetProperties>(), nullptr)); |
m_pEdit->SetOuter(this); |
m_pEdit->SetParent(this); |
} else if (bRemoveDropDown && m_pEdit) { |
@@ -693,13 +693,13 @@ void IFWL_ComboBox::InitProxyForm() { |
if (!m_pListBox) |
return; |
- CFWL_WidgetImpProperties propForm; |
- propForm.m_pOwner = this; |
- propForm.m_dwStyles = FWL_WGTSTYLE_Popup; |
- propForm.m_dwStates = FWL_WGTSTATE_Invisible; |
+ auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); |
+ prop->m_pOwner = this; |
+ prop->m_dwStyles = FWL_WGTSTYLE_Popup; |
+ prop->m_dwStates = FWL_WGTSTATE_Invisible; |
- m_pComboBoxProxy = |
- new IFWL_ComboBoxProxy(this, m_pOwnerApp, propForm, m_pListBox.get()); |
+ m_pComboBoxProxy = new IFWL_ComboBoxProxy(this, m_pOwnerApp, std::move(prop), |
+ m_pListBox.get()); |
m_pListBox->SetParent(m_pComboBoxProxy); |
} |
@@ -707,23 +707,23 @@ void IFWL_ComboBox::DisForm_InitComboList() { |
if (m_pListBox) |
return; |
- CFWL_WidgetImpProperties prop; |
- prop.m_pParent = this; |
- prop.m_dwStyles = FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; |
- prop.m_dwStates = FWL_WGTSTATE_Invisible; |
- prop.m_pDataProvider = m_pProperties->m_pDataProvider; |
- prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, prop, this)); |
+ auto prop = |
+ pdfium::MakeUnique<CFWL_WidgetProperties>(m_pProperties->m_pDataProvider); |
+ prop->m_pParent = this; |
+ prop->m_dwStyles = FWL_WGTSTYLE_Border | FWL_WGTSTYLE_VScroll; |
+ prop->m_dwStates = FWL_WGTSTATE_Invisible; |
+ prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
+ m_pListBox.reset(new IFWL_ComboList(m_pOwnerApp, std::move(prop), this)); |
} |
void IFWL_ComboBox::DisForm_InitComboEdit() { |
if (m_pEdit) |
return; |
- CFWL_WidgetImpProperties prop; |
- prop.m_pParent = this; |
- prop.m_pThemeProvider = m_pProperties->m_pThemeProvider; |
- m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, prop, this)); |
+ auto prop = pdfium::MakeUnique<CFWL_WidgetProperties>(); |
+ prop->m_pParent = this; |
+ prop->m_pThemeProvider = m_pProperties->m_pThemeProvider; |
+ m_pEdit.reset(new IFWL_ComboEdit(m_pOwnerApp, std::move(prop), this)); |
m_pEdit->SetOuter(this); |
} |