X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7bc740719c93355e447db5c9bcb24cf7cdc29b61..43f4e852a1b2ac37c3db6a2b87315192ac549191:/src/msw/combobox.cpp diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index d0b9836baf..b823cc5899 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -274,26 +274,27 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD id) case CBN_DROPDOWN: // remember the last selection, just as wxChoice does m_lastAcceptedSelection = GetCurrentSelection(); - if ( m_lastAcceptedSelection == -1 ) - { - // but unlike with wxChoice we may have no selection but still - // have some text and we should avoid erasing it if the drop - // down is cancelled (see #8474) - m_lastAcceptedSelection = wxID_NONE; - } { wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_DROPDOWN, GetId()); event.SetEventObject(this); ProcessCommand(event); } break; + case CBN_CLOSEUP: + // Do the same thing as in wxChoice but using different event type. + if ( m_pendingSelection != wxID_NONE ) + { + SendSelectionChangedEvent(wxEVT_COMMAND_COMBOBOX_SELECTED); + m_pendingSelection = wxID_NONE; + } { wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_CLOSEUP, GetId()); event.SetEventObject(this); ProcessCommand(event); } break; + case CBN_SELENDOK: #ifndef __SMARTPHONE__ // we need to reset this to prevent the selection from being undone