library: Use track id directly
Calculating through the iterator may lead to unexpected problems. We already know the id of every database entry, so we might as well use it directly. Signed-off-by: Anna Schumaker <anna@ocarinaproject.net>
This commit is contained in:
parent
d28b3300f5
commit
8d29ce7169
|
@ -461,8 +461,6 @@ static void do_import_library(std::string &s)
|
|||
|
||||
void library :: init()
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
album_db.load();
|
||||
artist_db.load();
|
||||
genre_db.load();
|
||||
|
@ -471,20 +469,17 @@ void library :: init()
|
|||
|
||||
Database<Track>::iterator it;
|
||||
for (it = track_db.begin(); it != track_db.end(); it = track_db.next(it)) {
|
||||
i = (it - track_db.begin());
|
||||
filter::add(artist_db.at((*it).artist_id)->name, i);
|
||||
filter::add(album_db.at((*it).album_id)->name, i);
|
||||
filter::add((*it).title, i);
|
||||
filter::add(artist_db.at((*it).artist_id)->name, it->id);
|
||||
filter::add(album_db.at((*it).album_id)->name, it->id);
|
||||
filter::add((*it).title, it->id);
|
||||
|
||||
if (library_db.at((*it).library_id)->enabled)
|
||||
get_callbacks()->on_library_track_add(i);
|
||||
get_callbacks()->on_library_track_add(it->id);
|
||||
}
|
||||
|
||||
Database<Library>::iterator l_it;
|
||||
for (l_it = library_db.begin(); l_it != library_db.end(); l_it = library_db.next(l_it)) {
|
||||
i = l_it - library_db.begin();
|
||||
get_callbacks()->on_library_add(i, &(*library_db.at(i)));
|
||||
}
|
||||
for (l_it = library_db.begin(); l_it != library_db.end(); l_it = library_db.next(l_it))
|
||||
get_callbacks()->on_library_add(l_it->id, &(*library_db.at(l_it->id)));
|
||||
}
|
||||
|
||||
void library :: add_path(const std::string &dir)
|
||||
|
@ -508,9 +503,8 @@ void library :: del_path(unsigned int id)
|
|||
|
||||
for (it = track_db.begin(); it != track_db.end(); it = track_db.next(it)) {
|
||||
if ((*it).library_id == id) {
|
||||
unsigned int track_id = it - track_db.begin();
|
||||
get_callbacks()->on_library_track_del(track_id);
|
||||
track_db.remove(track_id);
|
||||
get_callbacks()->on_library_track_del(it->id);
|
||||
track_db.remove(it->id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue