unselect previously selected items in SetSelection() (patch 974326)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Jul 2004 15:06:58 +0000 (15:06 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Jul 2004 15:06:58 +0000 (15:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/choicdgg.cpp

index a71dd76d5c2d8fa8b6849cfec474c92502bea712..15e85bb44a6658ed750f381571ca5fe177c2663f 100644 (file)
@@ -457,8 +457,17 @@ bool wxMultiChoiceDialog::Create( wxWindow *parent,
 
 void wxMultiChoiceDialog::SetSelections(const wxArrayInt& selections)
 {
-    size_t count = selections.GetCount();
-    for ( size_t n = 0; n < count; n++ )
+    // first clear all currently selected items
+    size_t n,
+           count = m_listbox->GetCount();
+    for ( n = 0; n < count; ++n )
+    {
+        m_listbox->Deselect(n);
+    }
+
+    // now select the ones which should be selected
+    count = selections.GetCount();
+    for ( n = 0; n < count; n++ )
     {
         m_listbox->Select(selections[n]);
     }