summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-12-17 23:45:48 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-12-20 11:02:17 -0800
commit196bd7b7b247d8ac53574d4ab15ed25e66f92bc6 (patch)
tree4adaf1dfa1815863efe5ce07e60150f44fab0952
parent5979292469de934b1af0612b0beb3bcbb4901dd3 (diff)
downloadsubsurface-196bd7b7b247d8ac53574d4ab15ed25e66f92bc6.tar.gz
profile: remove clearHandlers function (fixes crash)
Recently (674c20227b2), the call to ProfileWidget::clearHandlers() was moved from PlannerWidgets::replanDive() to ProfileWidget2. This cause a crash, because the code assumes that the number of elements in the handles-vector the divepointplanner model is the same. Clearing the handles violates this assumption. It turns out that the clearHandlers() function is broken anyway: it clear the handles-vector, but not the gases-vector, which should likewise have the same number of elements. It appears that the clearHandlers() function is an artifact and it is mysterious how this has worked so far. Remove. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r--profile-widget/profilewidget2.cpp13
-rw-r--r--profile-widget/profilewidget2.h3
2 files changed, 0 insertions, 16 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp
index 19819eae9..97cd6fe12 100644
--- a/profile-widget/profilewidget2.cpp
+++ b/profile-widget/profilewidget2.cpp
@@ -1318,17 +1318,6 @@ void ProfileWidget2::setProfileState()
}
#ifndef SUBSURFACE_MOBILE
-void ProfileWidget2::clearHandlers()
-{
- if (handles.count()) {
- foreach (DiveHandler *handle, handles) {
- scene()->removeItem(handle);
- delete handle;
- }
- handles.clear();
- }
-}
-
void ProfileWidget2::setToolTipVisibile(bool visible)
{
toolTipItem->setVisible(visible);
@@ -1339,7 +1328,6 @@ void ProfileWidget2::setAddState()
if (currentState == ADD)
return;
- clearHandlers();
setProfileState();
mouseFollowerHorizontal->setVisible(true);
mouseFollowerVertical->setVisible(true);
@@ -1373,7 +1361,6 @@ void ProfileWidget2::setPlanState()
if (currentState == PLAN)
return;
- clearHandlers();
setProfileState();
mouseFollowerHorizontal->setVisible(true);
mouseFollowerVertical->setVisible(true);
diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h
index 272398095..4c6d66898 100644
--- a/profile-widget/profilewidget2.h
+++ b/profile-widget/profilewidget2.h
@@ -163,9 +163,6 @@ private:
void createPPGas(PartialPressureGasItem *item, int verticalColumn, color_index_t color, color_index_t colorAlert,
const double *thresholdSettingsMin, const double *thresholdSettingsMax);
void clearPictures();
-#ifndef SUBSURFACE_MOBILE
- void clearHandlers();
-#endif
void plotPicturesInternal(const struct dive *d, bool synchronous);
void addDivemodeSwitch(int seconds, int divemode);
void addBookmark(int seconds);