mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Dive site: pass dive-site pointer to delete_dive_site()
Instead of passing a uuid, pass a pointer to the dive site. This is small step in an effort to remove uuids. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									8de471f90e
								
							
						
					
					
						commit
						f527a70831
					
				
					 8 changed files with 13 additions and 14 deletions
				
			
		|  | @ -1687,7 +1687,7 @@ void clear_dive_file_data() | |||
| 	while (dive_table.nr) | ||||
| 		delete_single_dive(0); | ||||
| 	while (dive_site_table.nr) | ||||
| 		delete_dive_site(get_dive_site(0)->uuid); | ||||
| 		delete_dive_site(get_dive_site(0)); | ||||
| 
 | ||||
| 	clear_dive(&displayed_dive); | ||||
| 
 | ||||
|  |  | |||
|  | @ -172,12 +172,11 @@ void free_dive_site(struct dive_site *ds) | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| void delete_dive_site(uint32_t id) | ||||
| void delete_dive_site(struct dive_site *ds) | ||||
| { | ||||
| 	int nr = dive_site_table.nr; | ||||
| 	for (int i = 0; i < nr; i++) { | ||||
| 		struct dive_site *ds = get_dive_site(i); | ||||
| 		if (ds->uuid == id) { | ||||
| 		if (ds == get_dive_site(i)) { | ||||
| 			free_dive_site(ds); | ||||
| 			if (nr - 1 > i) | ||||
| 				memmove(&dive_site_table.dive_sites[i], | ||||
|  | @ -329,7 +328,7 @@ void merge_dive_sites(uint32_t ref, uint32_t* uuids, int count) | |||
| 	for(i = 0; i < count; i++) { | ||||
| 		if (uuids[i] == ref) | ||||
| 			continue; | ||||
| 		delete_dive_site(uuids[i]); | ||||
| 		delete_dive_site(get_dive_site_by_uuid(uuids[i])); | ||||
| 	} | ||||
| 	mark_divelist_changed(true); | ||||
| } | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ struct dive_site *alloc_or_get_dive_site(uint32_t uuid); | |||
| int nr_of_dives_at_dive_site(struct dive_site *ds, bool select_only); | ||||
| bool is_dive_site_used(struct dive_site *ds, bool select_only); | ||||
| void free_dive_site(struct dive_site *ds); | ||||
| void delete_dive_site(uint32_t id); | ||||
| void delete_dive_site(struct dive_site *ds); | ||||
| struct dive_site *create_dive_site(const char *name, timestamp_t divetime); | ||||
| struct dive_site *create_dive_site_from_current_dive(const char *name); | ||||
| struct dive_site *create_dive_site_with_gps(const char *name, const location_t *, timestamp_t divetime); | ||||
|  |  | |||
|  | @ -890,7 +890,7 @@ static void save_divesites(git_repository *repo, struct dir *tree) | |||
| 				if (d->dive_site_uuid == ds->uuid) | ||||
| 					d->dive_site_uuid = 0; | ||||
| 			} | ||||
| 			delete_dive_site(ds->uuid); | ||||
| 			delete_dive_site(ds); | ||||
| 			i--; // since we just deleted that one
 | ||||
| 			continue; | ||||
| 		} else if (ds->name && | ||||
|  | @ -903,7 +903,7 @@ static void save_divesites(git_repository *repo, struct dir *tree) | |||
| 			if (!is_dive_site_used(ds, false)) { | ||||
| 				if (verbose) | ||||
| 					fprintf(stderr, "Deleted unused auto-created dive site %s\n", ds->name); | ||||
| 				delete_dive_site(ds->uuid); | ||||
| 				delete_dive_site(ds); | ||||
| 				i--; // since we just deleted that one
 | ||||
| 				continue; | ||||
| 			} | ||||
|  |  | |||
|  | @ -605,7 +605,7 @@ void save_dives_buffer(struct membuffer *b, const bool select_only, bool anonymi | |||
| 				if (d->dive_site_uuid == ds->uuid) | ||||
| 					d->dive_site_uuid = 0; | ||||
| 			} | ||||
| 			delete_dive_site(ds->uuid); | ||||
| 			delete_dive_site(ds); | ||||
| 			i--; // since we just deleted that one
 | ||||
| 			continue; | ||||
| 		} else if (ds->name && | ||||
|  | @ -617,7 +617,7 @@ void save_dives_buffer(struct membuffer *b, const bool select_only, bool anonymi | |||
| 			if (!is_dive_site_used(ds, false)) { | ||||
| 				if (verbose) | ||||
| 					fprintf(stderr, "Deleted unused auto-created dive site %s\n", ds->name); | ||||
| 				delete_dive_site(ds->uuid); | ||||
| 				delete_dive_site(ds); | ||||
| 				i--; // since we just deleted that one
 | ||||
| 				continue; | ||||
| 			} | ||||
|  |  | |||
|  | @ -1193,7 +1193,7 @@ static void get_uemis_divespot(const char *mountpath, int divespot_id, struct di | |||
| 			if (ods) { | ||||
| 				/* if the uuid's are the same, the new site is a duplicate and can be deleted */ | ||||
| 				if (nds->uuid != ods->uuid) { | ||||
| 					delete_dive_site(nds->uuid); | ||||
| 					delete_dive_site(nds); | ||||
| 					dive->dive_site_uuid = ods->uuid; | ||||
| 				} | ||||
| 			} | ||||
|  | @ -1202,7 +1202,7 @@ static void get_uemis_divespot(const char *mountpath, int divespot_id, struct di | |||
| 			/* if we can't load the dive site details, delete the site we
 | ||||
| 			* created in process_raw_buffer | ||||
| 			*/ | ||||
| 			delete_dive_site(dive->dive_site_uuid); | ||||
| 			delete_dive_site(get_dive_site_by_uuid(dive->dive_site_uuid)); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -888,7 +888,7 @@ void MainTab::acceptChanges() | |||
| 		if (oldDs && !is_dive_site_used(oldDs, false)) { | ||||
| 			if (verbose) | ||||
| 				qDebug() << "delete now unused dive site" << (oldDs->name ? oldDs->name : "without name"); | ||||
| 			delete_dive_site(oldDs->uuid); | ||||
| 			delete_dive_site(oldDs); | ||||
| 			MapWidget::instance()->reload(); | ||||
| 		} | ||||
| 		// the code above can change the correct uuid for the displayed dive site - and the
 | ||||
|  |  | |||
|  | @ -97,7 +97,7 @@ bool LocationInformationModel::removeRows(int row, int, const QModelIndex&) | |||
| 	beginRemoveRows(QModelIndex(), row, row); | ||||
| 	struct dive_site *ds = get_dive_site(row); | ||||
| 	if (ds) | ||||
| 		delete_dive_site(ds->uuid); | ||||
| 		delete_dive_site(ds); | ||||
| 	endRemoveRows(); | ||||
| 	return true; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue