mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix crash when calling the planner twice in a row
Turns out that the fix in commit f7119bdccf
("Planner: make sure no old
handles are around when entering Add/Plan") was incorrect. We ONLY want to
remove the existing handlers when we re-plan a dive, NOT when we call add
or plan.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
fc96daf93f
commit
642ad1e0fe
3 changed files with 2 additions and 3 deletions
|
@ -468,6 +468,7 @@ void MainWindow::on_actionReplanDive_triggered()
|
||||||
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::PLAN);
|
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::PLAN);
|
||||||
|
|
||||||
ui.newProfile->setPlanState();
|
ui.newProfile->setPlanState();
|
||||||
|
ui.newProfile->clearHandlers();
|
||||||
ui.infoPane->setCurrentIndex(PLANNERWIDGET);
|
ui.infoPane->setCurrentIndex(PLANNERWIDGET);
|
||||||
DivePlannerPointsModel::instance()->loadFromDive(current_dive);
|
DivePlannerPointsModel::instance()->loadFromDive(current_dive);
|
||||||
reset_cylinders(&displayed_dive, true);
|
reset_cylinders(&displayed_dive, true);
|
||||||
|
|
|
@ -870,7 +870,6 @@ void ProfileWidget2::setAddState()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
setProfileState();
|
setProfileState();
|
||||||
clearHandlers();
|
|
||||||
mouseFollowerHorizontal->setVisible(true);
|
mouseFollowerHorizontal->setVisible(true);
|
||||||
mouseFollowerVertical->setVisible(true);
|
mouseFollowerVertical->setVisible(true);
|
||||||
mouseFollowerHorizontal->setLine(timeAxis->line());
|
mouseFollowerHorizontal->setLine(timeAxis->line());
|
||||||
|
@ -904,7 +903,6 @@ void ProfileWidget2::setPlanState()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
setProfileState();
|
setProfileState();
|
||||||
clearHandlers();
|
|
||||||
mouseFollowerHorizontal->setVisible(true);
|
mouseFollowerHorizontal->setVisible(true);
|
||||||
mouseFollowerVertical->setVisible(true);
|
mouseFollowerVertical->setVisible(true);
|
||||||
mouseFollowerHorizontal->setLine(timeAxis->line());
|
mouseFollowerHorizontal->setLine(timeAxis->line());
|
||||||
|
|
|
@ -78,6 +78,7 @@ public:
|
||||||
bool isAddOrPlanner();
|
bool isAddOrPlanner();
|
||||||
double getFontPrintScale();
|
double getFontPrintScale();
|
||||||
void setFontPrintScale(double scale);
|
void setFontPrintScale(double scale);
|
||||||
|
void clearHandlers();
|
||||||
State currentState;
|
State currentState;
|
||||||
|
|
||||||
public
|
public
|
||||||
|
@ -175,7 +176,6 @@ private:
|
||||||
QList<DivePictureItem*> pictures;
|
QList<DivePictureItem*> pictures;
|
||||||
void repositionDiveHandlers();
|
void repositionDiveHandlers();
|
||||||
int fixHandlerIndex(DiveHandler *activeHandler);
|
int fixHandlerIndex(DiveHandler *activeHandler);
|
||||||
void clearHandlers();
|
|
||||||
friend class DiveHandler;
|
friend class DiveHandler;
|
||||||
QHash<Qt::Key, QAction *> actionsForKeys;
|
QHash<Qt::Key, QAction *> actionsForKeys;
|
||||||
bool shouldCalculateMaxTime;
|
bool shouldCalculateMaxTime;
|
||||||
|
|
Loading…
Add table
Reference in a new issue