X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=divelist.c;h=a773b60179674084a2dfe251e5537bf37285e64d;hb=9d46581913ce33664e333a4d6eaf7f4e26e20b1c;hp=a3bb1fb5eb897320cdd382728778fc01f3274f15;hpb=e315abf645bbca8eb3cee7d6688db8b088c14cba;p=ext%2Fsubsurface.git diff --git a/divelist.c b/divelist.c index a3bb1fb..a773b60 100644 --- a/divelist.c +++ b/divelist.c @@ -92,7 +92,7 @@ void dump_selection(void) struct dive *dive; printf("currently selected are %d dives:", amount_selected); - for (i = 0; (dive = get_dive(i)) != NULL; i++) { + for_each_dive(i, dive) { if (dive->selected) printf(" %d", i); } @@ -893,8 +893,6 @@ static void fill_dive_list(void) /* if we have pre-existing trips, start on the last one */ trip = g_list_last(dive_trip_list); - if (trip) - dive_trip = DIVE_TRIP(trip); treestore = GTK_TREE_STORE(dive_list.treemodel); liststore = GTK_TREE_STORE(dive_list.listmodel); @@ -911,6 +909,9 @@ static void fill_dive_list(void) DIVE_LOCATION, dive_trip->location, -1); } + /* the dive_trip info might have been killed by a previous UNGROUPED dive */ + if (trip) + dive_trip = DIVE_TRIP(trip); /* tripflag defines how dives are handled; * TF_NONE "not handled yet" - create time based group if autogroup == TRUE * NO_TRIP "set as no group" - simply leave at top level @@ -925,7 +926,7 @@ static void fill_dive_list(void) /* allocate new trip - all fields default to 0 and get filled in further down */ dive_trip = alloc_dive(); - dive_trip_list = INSERT_TRIP(dive_trip, dive_trip_list); + dive_trip_list = insert_trip(dive_trip, dive_trip_list); trip = FIND_TRIP(dive_trip, dive_trip_list); } } else { /* either the dive has a trip or we aren't creating trips */ @@ -938,7 +939,7 @@ static void fill_dive_list(void) * Otherwise we need to create a new trip */ if (autogroup) { dive_trip = alloc_dive(); - dive_trip_list = INSERT_TRIP(dive_trip, dive_trip_list); + dive_trip_list = insert_trip(dive_trip, dive_trip_list); trip = FIND_TRIP(dive_trip, dive_trip_list); } else { /* let's go back to the last valid trip */ @@ -1138,7 +1139,7 @@ void add_dive_cb(GtkWidget *menuitem, gpointer data) void edit_dive_cb(GtkWidget *menuitem, gpointer data) { - edit_multi_dive_info(-1); + edit_multi_dive_info(NULL); } static void expand_all_cb(GtkWidget *menuitem, GtkTreeView *tree_view)