{
IconData *id = work->data;
work = work->next;
- if (vficon_index_by_id(vf, id) < 0)
- {
- VFICON_INFO(vf, selection) = g_list_remove(VFICON_INFO(vf, selection), id);
- }
+
+ if (vficon_index_by_id(vf, id) >= 0) continue;
+
+ VFICON_INFO(vf, selection) = g_list_remove(VFICON_INFO(vf, selection), id);
}
}
while (work)
{
IconData *id = work->data;
- VFICON_INFO(vf, selection) = g_list_append(VFICON_INFO(vf, selection), id);
- vficon_selection_add(vf, work->data, SELECTION_SELECTED, NULL);
work = work->next;
+
+ VFICON_INFO(vf, selection) = g_list_append(VFICON_INFO(vf, selection), id);
+ vficon_selection_add(vf, id, SELECTION_SELECTED, NULL);
}
vficon_send_update(vf);
work = VFICON_INFO(vf, selection);
while (work)
{
- vficon_selection_remove(vf, work->data, SELECTION_SELECTED, NULL);
+ IconData *id = work->data;
work = work->next;
+
+ vficon_selection_remove(vf, id, SELECTION_SELECTED, NULL);
}
g_list_free(VFICON_INFO(vf, selection));