delete data;
}
-void List::autosize_special(const Part &part, Geometry &ageom)
+void List::autosize_special(const Part &part, Geometry &ageom) const
{
if(part.get_name()=="items")
{
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);
}
-void List::Item::autosize_special(const Part &part, Geometry &ageom)
+void List::Item::autosize_special(const Part &part, Geometry &ageom) const
{
if(part.get_name()=="children")
{