don't save the initial selection if it's invalid in CBN_DROPDOWN (refixes #8474 without breaking #9995)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9eb2347dc3
commit
ae3b14872b
@ -312,6 +312,18 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD id)
|
||||
|
||||
switch ( param )
|
||||
{
|
||||
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;
|
||||
}
|
||||
break;
|
||||
|
||||
case CBN_SELENDOK:
|
||||
#ifndef __SMARTPHONE__
|
||||
// we need to reset this to prevent the selection from being undone
|
||||
@ -365,7 +377,7 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD id)
|
||||
}
|
||||
|
||||
// skip wxChoice version as it would generate its own events for
|
||||
// CBN_SELENDOK
|
||||
// CBN_SELENDOK and also interfere with our handling of CBN_DROPDOWN
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user