diff --git a/src/univ/listbox.cpp b/src/univ/listbox.cpp index 7657a08ac6..0ad1318cf7 100644 --- a/src/univ/listbox.cpp +++ b/src/univ/listbox.cpp @@ -476,14 +476,22 @@ void wxListBox::DoSetSelection(int n, bool select) { if ( select ) { - if ( m_selections.Index(n) == wxNOT_FOUND ) + if ( n == wxNOT_FOUND ) + { + if ( !HasMultipleSelection() ) + { + // selecting wxNOT_FOUND is documented to deselect all items + DeselectAll(); + return; + } + } + else if ( m_selections.Index(n) == wxNOT_FOUND ) { if ( !HasMultipleSelection() ) { // selecting an item in a single selection listbox deselects // all the others DeselectAll(); - return; } m_selections.Add(n);