From 6c9210a76a8ca51e490edc93644a04efd3238e38 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 13 Jun 2003 12:42:35 +0000 Subject: [PATCH] added checks for the item index git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/vlbox.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/generic/vlbox.cpp b/src/generic/vlbox.cpp index e15de81c6a..2f6276cd81 100644 --- a/src/generic/vlbox.cpp +++ b/src/generic/vlbox.cpp @@ -188,6 +188,10 @@ bool wxVListBox::DoSelectAll(bool select) bool wxVListBox::DoSetCurrent(int current) { + wxASSERT_MSG( current == wxNOT_FOUND || + (current >= 0 && (size_t)current < GetItemCount()), + _T("wxVListBox::DoSetCurrent(): invalid item index") ); + if ( current == m_current ) { // nothing to do @@ -239,6 +243,10 @@ void wxVListBox::SendSelectedEvent() void wxVListBox::SetSelection(int selection) { + wxCHECK_RET( selection == wxNOT_FOUND || + (selection >= 0 && (size_t)selection < GetItemCount()), + _T("wxVListBox::SetSelection(): invalid item index") ); + wxASSERT_MSG( !HasMultipleSelection(), _T("SetSelection() is invalid with multiselection listbox") ); @@ -502,13 +510,18 @@ void wxVListBox::OnLeftDown(wxMouseEvent& event) { int item = HitTest(event.GetPosition()); - DoHandleItemClick(item, event.ShiftDown(), + if ( item != wxNOT_FOUND ) + { + // under Mac Apple-click is used in the same way as Ctrl-click + // elsewhere + DoHandleItemClick(item, event.ShiftDown(), #ifdef __WXMAC__ - event.MetaDown() + event.MetaDown() #else - event.ControlDown() + event.ControlDown() #endif - ); + ); + } } void wxVListBox::OnLeftDClick(wxMouseEvent& event) -- 2.45.2