diff --git a/display.h b/display.h index b9de932cb..8f972e358 100644 --- a/display.h +++ b/display.h @@ -6,12 +6,12 @@ #include extern int selected_dive; +#define current_dive (get_dive(selected_dive)) + extern GtkWidget *dive_profile_frame(void); extern GtkWidget *dive_info_frame(void); extern GtkWidget *create_dive_list(void); extern void update_dive_info(struct dive *dive); extern void repaint_dive(void); -#define current_dive (dive_table.dives[selected_dive]) - #endif diff --git a/dive.h b/dive.h index a8e3c319a..23e2f544c 100644 --- a/dive.h +++ b/dive.h @@ -121,6 +121,13 @@ struct dive_table { extern struct dive_table dive_table; +static inline struct dive *get_dive(unsigned int nr) +{ + if (nr >= dive_table.nr) + return NULL; + return dive_table.dives[nr]; +} + extern void parse_xml_init(void); extern void parse_xml_file(const char *filename);