subsurface/profile-widget
Berthold Stoeger ec8e109a1a Profile: remove ProfileWidget2::recalcCeiling()
The ProfileWidget2::recalcCeiling() function is used in one place,
namely when an undo-command changes the mode. It recalculates
decompression data and repaints the ceilings and thus avoids a
full profile-redraw.

This is smart, but it becomes problematic when the dive is changed
and the ceiling is recalculated before the profile is redrawn.
The DivePlotDataModel then still has data from the previous dive
but cylinders of the new dive are accessed.

This kind of situation may arise if multiple dive fields are
updated, as for example when replanning a dive.

Currently, this only causes a temporary mis-calculation. When
removing MAX_CYLINDERS this will lead to crashes.

One might attempt to fix the whole data-dependency mess. This
commit goes the cheap route and simply redraws the profile when
the mode is changed. Yes, it is in a way ineffective, but we
do worse things. The ProfileWidget2::recalcCeiling() thus becomes
unused and is removed.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-11-08 20:42:06 +01:00
..
animationfunctions.cpp Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
animationfunctions.h Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
CMakeLists.txt CMake: add headers to targets 2019-03-27 14:07:32 -07:00
divecartesianaxis.cpp Fix math in valueAt 2019-08-08 08:56:44 -07:00
divecartesianaxis.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
diveeventitem.cpp Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
diveeventitem.h Profile: take int instead of bool in DiveEventItem::recalculatePos 2019-07-12 09:59:28 +02:00
divelineitem.cpp Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divelineitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divepixmapitem.cpp Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
divepixmapitem.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveprofileitem.cpp Indicate negative cylider pressure 2019-08-08 08:56:44 -07:00
diveprofileitem.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diverectitem.cpp Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
diverectitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divetextitem.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divetextitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divetooltipitem.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
divetooltipitem.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
profilewidget2.cpp Profile: remove ProfileWidget2::recalcCeiling() 2019-11-08 20:42:06 +01:00
profilewidget2.h Profile: remove ProfileWidget2::recalcCeiling() 2019-11-08 20:42:06 +01:00
qmlprofile.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
qmlprofile.h profile: make profile self contained 2018-06-09 17:16:53 +02:00
ruleritem.cpp Profile: properly initialize plot_info structures 2019-08-28 07:10:09 -07:00
ruleritem.h Cleanup: pass const-reference to RulerItem2::setPlotInfo() 2019-03-19 16:06:14 -07:00
tankitem.cpp Cleanup: turn TankItem member variable into a constant 2019-10-27 12:42:21 -07:00
tankitem.h Cleanup: turn TankItem member variable into a constant 2019-10-27 12:42:21 -07:00