]> git.saurik.com Git - wxWidgets.git/commitdiff
don't leave current item index invalid after SetItemCount() (ticket #3720)
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 6 Jun 2008 22:55:23 +0000 (22:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 6 Jun 2008 22:55:23 +0000 (22:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/vlbox.cpp

index f30f2d9db3827362c5037775f99968800e235253..f94031bca57ebfd874e64defa6c9696efa028f29 100644 (file)
@@ -78,8 +78,8 @@ bool wxVListBox::Create(wxWindow *parent,
                         const wxString& name)
 {
 #ifdef __WXMSW__
-       if ((style & wxBORDER_MASK) == wxDEFAULT)
-               style |= wxBORDER_THEME;
+    if ( (style & wxBORDER_MASK) == wxDEFAULT )
+        style |= wxBORDER_THEME;
 #endif
 
     style |= wxWANTS_CHARS | wxFULL_REPAINT_ON_RESIZE;
@@ -110,6 +110,10 @@ wxVListBox::~wxVListBox()
 
 void wxVListBox::SetItemCount(size_t count)
 {
+    // don't leave the current index invalid
+    if ( m_current != wxNOT_FOUND && (size_t)m_current >= count )
+        m_current = count - 1; // also ok when count == 0 as wxNOT_FOUND == -1
+
     if ( m_selStore )
     {
         // tell the selection store that our number of items has changed