mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Cleanup: set description to null in free_[weightsystem|cylinder]
Currently, the caller is responsible for not reusing a freed weightsystem / cylinder or resetting the description field to null. This is very unfriendly. Set the description field to null, because that allows us to call free_* repeatedly on the same object. Use the new behavior to make the weightsystem model code a bit cleaner. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									a4c95fd8e8
								
							
						
					
					
						commit
						e114522a44
					
				
					 2 changed files with 3 additions and 2 deletions
				
			
		|  | @ -82,14 +82,12 @@ void WeightModel::setTempWS(int row, weightsystem_t ws) | |||
| 		return; | ||||
| 
 | ||||
| 	clearTempWS(); // Shouldn't be necessary, just in case: Reset old temporary row.
 | ||||
| 	free_weightsystem(tempWS); | ||||
| 
 | ||||
| 	// It is really hard to get the editor-close-hints and setModelData calls under
 | ||||
| 	// control. Therefore, if the row is set to the already existing entry, don't
 | ||||
| 	// enter temporary mode.
 | ||||
| 	if (same_string(d->weightsystems.weightsystems[row].description, ws.description)) { | ||||
| 		free_weightsystem(ws); | ||||
| 		tempWS.description = nullptr; | ||||
| 	} else { | ||||
| 		tempRow = row; | ||||
| 		tempWS = ws; | ||||
|  | @ -103,6 +101,7 @@ void WeightModel::clearTempWS() | |||
| 		return; | ||||
| 	int oldRow = tempRow; | ||||
| 	tempRow = -1; | ||||
| 	free_weightsystem(tempWS); | ||||
| 	dataChanged(index(oldRow, TYPE), index(oldRow, WEIGHT)); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue