profile: remove clearHandlers function (fixes crash)

Recently (674c20227b), 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>
This commit is contained in:
Berthold Stoeger 2020-12-17 23:45:48 +01:00 committed by Dirk Hohndel
parent 5979292469
commit 196bd7b7b2
2 changed files with 0 additions and 16 deletions

View file

@ -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);

View file

@ -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);