summaryrefslogtreecommitdiff
path: root/fpdfsdk/pwl/cpwl_combo_box.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/pwl/cpwl_combo_box.cpp')
-rw-r--r--fpdfsdk/pwl/cpwl_combo_box.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/fpdfsdk/pwl/cpwl_combo_box.cpp b/fpdfsdk/pwl/cpwl_combo_box.cpp
index 70893ca437..887b0225e5 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.cpp
+++ b/fpdfsdk/pwl/cpwl_combo_box.cpp
@@ -272,10 +272,6 @@ void CPWL_ComboBox::CreateEdit(const CreateParams& cp) {
if (m_pEdit)
return;
- m_pEdit = new CPWL_Edit(CloneAttachedData());
- m_pEdit->AttachFFLData(m_pFormFiller.Get());
- AddChild(m_pEdit.Get());
-
CreateParams ecp = cp;
ecp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PES_CENTER |
PES_AUTOSCROLL | PES_UNDO;
@@ -289,6 +285,11 @@ void CPWL_ComboBox::CreateEdit(const CreateParams& cp) {
ecp.rcRectWnd = CFX_FloatRect();
ecp.dwBorderWidth = 0;
ecp.nBorderStyle = BorderStyle::SOLID;
+
+ auto pEdit = pdfium::MakeUnique<CPWL_Edit>(CloneAttachedData());
+ m_pEdit = pEdit.get();
+ m_pEdit->AttachFFLData(m_pFormFiller.Get());
+ AddChild(std::move(pEdit));
m_pEdit->Realize(ecp);
}
@@ -296,9 +297,6 @@ void CPWL_ComboBox::CreateButton(const CreateParams& cp) {
if (m_pButton)
return;
- m_pButton = new CPWL_CBButton(CloneAttachedData());
- AddChild(m_pButton.Get());
-
CreateParams bcp = cp;
bcp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PWS_BACKGROUND;
bcp.sBackgroundColor = CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
@@ -307,6 +305,10 @@ void CPWL_ComboBox::CreateButton(const CreateParams& cp) {
bcp.dwBorderWidth = 2;
bcp.nBorderStyle = BorderStyle::BEVELED;
bcp.eCursorType = FXCT_ARROW;
+
+ auto pButton = pdfium::MakeUnique<CPWL_CBButton>(CloneAttachedData());
+ m_pButton = pButton.get();
+ AddChild(std::move(pButton));
m_pButton->Realize(bcp);
}
@@ -314,10 +316,6 @@ void CPWL_ComboBox::CreateListBox(const CreateParams& cp) {
if (m_pList)
return;
- m_pList = new CPWL_CBListBox(CloneAttachedData());
- m_pList->AttachFFLData(m_pFormFiller.Get());
- AddChild(m_pList.Get());
-
CreateParams lcp = cp;
lcp.dwFlags =
PWS_CHILD | PWS_BORDER | PWS_BACKGROUND | PLBS_HOVERSEL | PWS_VSCROLL;
@@ -335,6 +333,10 @@ void CPWL_ComboBox::CreateListBox(const CreateParams& cp) {
if (cp.sBackgroundColor.nColorType == CFX_Color::kTransparent)
lcp.sBackgroundColor = PWL_DEFAULT_WHITECOLOR;
+ auto pList = pdfium::MakeUnique<CPWL_CBListBox>(CloneAttachedData());
+ m_pList = pList.get();
+ m_pList->AttachFFLData(m_pFormFiller.Get());
+ AddChild(std::move(pList));
m_pList->Realize(lcp);
}