aboutsummaryrefslogtreecommitdiffstats
path: root/core/dive.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-07-18 19:31:59 +0200
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2018-07-19 02:43:08 +0300
commit325b8bba35c339d626071b3feedbc6140774a725 (patch)
tree9f10fbd96cec6dcd3a64e6580438f03ccd8a1943 /core/dive.h
parentb51e616b6a2af91f63cfa32d641d5898b10314ff (diff)
downloadsubsurface-325b8bba35c339d626071b3feedbc6140774a725.tar.gz
Undo: remember deleted trip in UndoRemoveDivesFromTrip::undo()
If the last dive of a trip is removed, the trip is deleted. On redo the dive is added to a non existing trip, leading to a segfault. Therefore, keep a copy of the trip to reinstate it on redo. Note: this cannot work for a sequence of multiple commands. One would have to rewrite the whole undo-history. Nevertheless, let's do this as a stop-gap measure. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/dive.h')
-rw-r--r--core/dive.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/dive.h b/core/dive.h
index 1b58eef4c..569232a38 100644
--- a/core/dive.h
+++ b/core/dive.h
@@ -507,6 +507,7 @@ extern void delete_single_dive(int idx);
extern void add_single_dive(int idx, struct dive *dive);
extern void insert_trip(dive_trip_t **trip);
+extern struct dive_trip *clone_empty_trip(struct dive_trip *trip);
extern const struct units SI_units, IMPERIAL_units;