if(i>=static_cast<int>(data->size()))
throw out_of_range("List::set_selected_index");
+ if(i==sel_index)
+ return;
+
if(sel_index>=0)
items[sel_index]->set_active(false);
if(i<0)
sel_index = -1;
- else if(i!=sel_index)
+ else
{
sel_index = i;
items[sel_index]->set_active(true);