- /* adjust amount_selected and remove negative index entries from list */
- for (i = 0, j = 0; j < amount_selected; ++i) {
- GValue value = {0, };
- path = g_list_nth_data(selected_dives, i);
- if (gtk_tree_model_get_iter(model, &iter, path)) {
- gtk_tree_model_get_value(model, &iter, 0, &value);
- idx = g_value_get_int(&value);
- if (idx > 0) {
- dp = get_dive(idx);
- if (dp) {
- selectiontracker[j] = idx;
- process_dive(dp, &stats_selection);
- j++;
- continue;
- }
- }
+ nr = 0;
+ for_each_dive(i, dive) {
+ if (dive->selected) {
+ process_dive(dive, &stats_selection);
+ nr++;