mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Planner: correctly refresh the display
We were making things way too hard (and were doing things that don't need doing, like clearing the DivePlanPointModel). Currently we still crash after manually adding a dive or when canceling a plan. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									eb59b97c2b
								
							
						
					
					
						commit
						c88a90f379
					
				
					 2 changed files with 3 additions and 15 deletions
				
			
		|  | @ -256,7 +256,6 @@ DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidg | |||
| 	connect(ui.buttonBox, SIGNAL(rejected()), plannerModel, SLOT(cancelPlan())); | ||||
| 	connect(plannerModel, SIGNAL(planCreated()), MainWindow::instance(), SLOT(removeFakeDiveForAddAndPlan())); | ||||
| 	connect(plannerModel, SIGNAL(planCreated()), MainWindow::instance(), SLOT(showProfile())); | ||||
| 	connect(plannerModel, SIGNAL(planCreated()), MainWindow::instance(), SLOT(refreshDisplay())); | ||||
| 	connect(plannerModel, SIGNAL(planCanceled()), MainWindow::instance(), SLOT(removeFakeDiveForAddAndPlan())); | ||||
| 	connect(plannerModel, SIGNAL(planCanceled()), MainWindow::instance(), SLOT(showProfile())); | ||||
| 
 | ||||
|  | @ -666,7 +665,6 @@ void DivePlannerPointsModel::cancelPlan() | |||
| 		stagingDive = NULL; | ||||
| 	} | ||||
| 	setPlanMode(NOTHING); | ||||
| 	MainWindow::instance()->graphics()->setProfileState(); | ||||
| 	diveplan.dp = NULL; | ||||
| } | ||||
| 
 | ||||
|  | @ -866,17 +864,10 @@ void DivePlannerPointsModel::createPlan() | |||
| 	// Remove and clean the diveplan, so we don't delete
 | ||||
| 	// the dive by mistake.
 | ||||
| 	diveplan.dp = NULL; | ||||
| 	clear(); | ||||
| 
 | ||||
| 	// we unselected all dives earlier, so as a side effect recreating the dive list will select the new dive
 | ||||
| 	MainWindow::instance()->recreateDiveList(); | ||||
| 	planCreated(); | ||||
| 	setPlanMode(NOTHING); | ||||
| 	free(stagingDive); | ||||
| 	stagingDive = NULL; | ||||
| 	oldRecalc = plannerModel->setRecalc(false); | ||||
| 	CylindersModel::instance()->setDive(current_dive); | ||||
| 	CylindersModel::instance()->update(); | ||||
| 	plannerModel->setRecalc(oldRecalc); | ||||
| 	MainWindow::instance()->graphics()->setProfileState(); | ||||
| 	// we unselected all dives earlier, so as a side effect recreating the dive list will select the new dive
 | ||||
| 	MainWindow::instance()->refreshDisplay(); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue