subsurface/desktop-widgets/tab-widgets
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
..
maintab.cpp Profile: remove ProfileWidget2::recalcCeiling() 2019-11-08 20:42:06 +01:00
maintab.h Fix broken windows build with latest MXE 2019-08-29 12:55:25 -07:00
maintab.ui Move the Suit text box from the Notes tab to the Equipment tab 2019-08-08 09:12:09 -07:00
TabBase.cpp Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
TabBase.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
TabDiveEquipment.cpp Undo: turn dive- and trip-fields into flags 2019-10-26 11:36:23 -07:00
TabDiveEquipment.h Move the Suit text box from the Notes tab to the Equipment tab 2019-08-08 09:12:09 -07:00
TabDiveEquipment.ui Move the Suit text box from the Notes tab to the Equipment tab 2019-08-08 09:12:09 -07:00
TabDiveExtraInfo.cpp Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
TabDiveExtraInfo.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
TabDiveExtraInfo.ui Cleanup: Move dive-equipment tab into own translation units 2019-04-15 10:30:04 +12:00
TabDiveInformation.cpp Undo: turn dive- and trip-fields into flags 2019-10-26 11:36:23 -07:00
TabDiveInformation.h Desktop: make salinity a field known to the undo system 2019-10-26 11:36:23 -07:00
TabDiveInformation.ui Convert the atmospheric pressure in the Information Tab to an editable field 2019-05-15 07:37:14 -07:00
TabDivePhotos.cpp Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
TabDivePhotos.h Write dive data as video subtitles 2019-04-16 20:38:19 +02:00
TabDivePhotos.ui Implement different zoom levels for dive photos tab 2017-12-18 12:07:10 -08:00
TabDiveSite.cpp Cleanup: return each dive site only once in selectedDiveSites() 2019-09-21 16:07:24 -07:00
TabDiveSite.h Cleanup: remove TabDiveSite::updateFilter() function 2019-09-06 11:48:47 -07:00
TabDiveSite.ui Dive sites: add fulltext filter 2019-04-12 18:19:07 +03:00
TabDiveStatistics.cpp Undo: turn dive- and trip-fields into flags 2019-10-26 11:36:23 -07:00
TabDiveStatistics.h Undo: update statistics if dive changed 2019-10-26 11:36:23 -07:00
TabDiveStatistics.ui Show average max depth in statistics tab 2018-12-17 12:18:26 +01:00