| Index: xfa/fwl/core/ifwl_combobox.cpp
|
| diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp
|
| index dcd2cf850e384b65b7d08ab0225652523caa6322..123dc9bea97aaeca46c0ba9a5a84385d446a6df8 100644
|
| --- a/xfa/fwl/core/ifwl_combobox.cpp
|
| +++ b/xfa/fwl/core/ifwl_combobox.cpp
|
| @@ -718,7 +718,7 @@ void IFWL_ComboBox::InitProxyForm() {
|
| m_pForm->Initialize();
|
| m_pListBox->SetParent(m_pForm);
|
| m_pListProxyDelegate = new CFWL_ComboProxyImpDelegate(m_pForm, this);
|
| - m_pForm->SetDelegate(m_pListProxyDelegate);
|
| + m_pForm->SetCurrentDelegate(m_pListProxyDelegate);
|
| }
|
|
|
| void IFWL_ComboBox::DisForm_InitComboList() {
|
| @@ -1158,10 +1158,8 @@ void CFWL_ComboBoxImpDelegate::DoSubCtrlKey(CFWL_MsgKey* pMsg) {
|
| return;
|
| }
|
| FX_BOOL bDropDown = m_pOwner->IsDropDownStyle();
|
| - if (bDropDown) {
|
| - IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pEdit->SetDelegate(nullptr);
|
| - pDelegate->OnProcessMessage(pMsg);
|
| - }
|
| + if (bDropDown)
|
| + m_pOwner->m_pEdit->GetCurrentDelegate()->OnProcessMessage(pMsg);
|
| }
|
|
|
| void CFWL_ComboBoxImpDelegate::DisForm_OnProcessMessage(
|
| @@ -1210,9 +1208,8 @@ void CFWL_ComboBoxImpDelegate::DisForm_OnProcessMessage(
|
| pKey->m_dwKeyCode == FWL_VKEY_Return ||
|
| pKey->m_dwKeyCode == FWL_VKEY_Escape;
|
| if (bListKey) {
|
| - IFWL_WidgetDelegate* pDelegate =
|
| - m_pOwner->m_pListBox->SetDelegate(nullptr);
|
| - pDelegate->OnProcessMessage(pMessage);
|
| + m_pOwner->m_pListBox->GetCurrentDelegate()->OnProcessMessage(
|
| + pMessage);
|
| break;
|
| }
|
| }
|
| @@ -1252,8 +1249,7 @@ void CFWL_ComboBoxImpDelegate::DisForm_OnFocusChanged(CFWL_Message* pMsg,
|
| CFWL_MsgSetFocus msg;
|
| msg.m_pDstTarget = m_pOwner->m_pEdit.get();
|
| msg.m_pSrcTarget = nullptr;
|
| - IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pEdit->SetDelegate(nullptr);
|
| - pDelegate->OnProcessMessage(&msg);
|
| + m_pOwner->m_pEdit->GetCurrentDelegate()->OnProcessMessage(&msg);
|
| }
|
| } else {
|
| m_pOwner->m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Focused;
|
| @@ -1261,8 +1257,7 @@ void CFWL_ComboBoxImpDelegate::DisForm_OnFocusChanged(CFWL_Message* pMsg,
|
| CFWL_MsgKillFocus msg;
|
| msg.m_pDstTarget = nullptr;
|
| msg.m_pSrcTarget = m_pOwner->m_pEdit.get();
|
| - IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pEdit->SetDelegate(nullptr);
|
| - pDelegate->OnProcessMessage(&msg);
|
| + m_pOwner->m_pEdit->GetCurrentDelegate()->OnProcessMessage(&msg);
|
| }
|
| }
|
|
|
| @@ -1305,10 +1300,8 @@ void CFWL_ComboBoxImpDelegate::DisForm_OnKey(CFWL_MsgKey* pMsg) {
|
| m_pOwner->SynchrEditText(m_pOwner->m_iCurSel);
|
| return;
|
| }
|
| - if (m_pOwner->m_pEdit) {
|
| - IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pEdit->SetDelegate(nullptr);
|
| - pDelegate->OnProcessMessage(pMsg);
|
| - }
|
| + if (m_pOwner->m_pEdit)
|
| + m_pOwner->m_pEdit->GetCurrentDelegate()->OnProcessMessage(pMsg);
|
| }
|
|
|
| CFWL_ComboProxyImpDelegate::CFWL_ComboProxyImpDelegate(IFWL_Form* pForm,
|
|
|