mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Be more careful about dive computer selection
The selection logic was a bit random: some places would return NULL if the dive computer index was out of range, others would return the primary dive computer, and actually moving between dive computers would just blindly increment and decrement the number. This always selects the primary computer if the index is out of bounds, and makes sure we stay in bound when switching beteen dive computers (but switching between dives can then turn an in-bound number into an out-of-bounds one) Fixes #464 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									60ceb8ebc1
								
							
						
					
					
						commit
						37794e2e23
					
				
					 8 changed files with 41 additions and 38 deletions
				
			
		|  | @ -358,7 +358,7 @@ void ProfileWidget2::plotDives(QList<dive *> dives) | |||
| 	// next get the dive computer structure - if there are no samples
 | ||||
| 	// let's create a fake profile that's somewhat reasonable for the
 | ||||
| 	// data that we have
 | ||||
| 	struct divecomputer *currentdc = select_dc(&d->dc); | ||||
| 	struct divecomputer *currentdc = select_dc(d); | ||||
| 	Q_ASSERT(currentdc); | ||||
| 	if (!currentdc || !currentdc->samples) { | ||||
| 		currentdc = fake_dc(currentdc); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue