From 64faa23448f1a18423b306f2b274580568853ccf Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Thu, 2 Sep 2021 19:16:05 +0200 Subject: undo: renumber cylinders when deleting a cylinder Removal of a cylinder requires a renumbering of cylinders in the core data structures (samples, etc.). The renumbering was performed in the undo-action of cylinder removal, but not during actual cylinder removal. What a mess! Add the missing call. Attention: this makes the deletion of sensor-readings on cylinder-deletion non-undoable! Undo will have to be fixed in upcoming commits. Signed-off-by: Berthold Stoeger --- commands/command_edit.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/commands/command_edit.cpp b/commands/command_edit.cpp index 39b734438..c31be4e47 100644 --- a/commands/command_edit.cpp +++ b/commands/command_edit.cpp @@ -1177,6 +1177,7 @@ void RemoveCylinder::undo() for (size_t i = 0; i < dives.size(); ++i) { std::vector mapping = get_cylinder_map_for_add(dives[i]->cylinders.nr, indexes[i]); add_cylinder(&dives[i]->cylinders, indexes[i], clone_cylinder(cyl[i])); + cylinder_renumber(dives[i], &mapping[0]); update_cylinder_related_info(dives[i]); emit diveListNotifier.cylinderAdded(dives[i], indexes[i]); invalidate_dive_cache(dives[i]); // Ensure that dive is written in git_save() -- cgit v1.2.3-70-g09d2