Fix crash on collection rescan

Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/amarok/issues/87
Signed-off-by: Fat-Zer <fatzer2@gmail.com>
master
Fat-Zer 1 month ago
parent d23069b5e9
commit 93a44a17e4

@ -921,12 +921,15 @@ Playlist::updateEntriesStatusAdded( const TQMap<TQString,TQString> &map )
TQMap<TQString,TQPtrList<PlaylistItem>*> uniquecopy( m_uniqueMap );
TQMap<TQString,TQPtrList<PlaylistItem>*>::Iterator it;
for( it = uniquecopy.begin(); it != uniquecopy.end(); ++it )
for( it = uniquecopy.begin(); it != uniquecopy.end(); )
{
if( map.contains( it.key() ))
// remove() may invalidate the iterator, so make a copy and increment
// it before modifying the collection
TQMap<TQString,TQPtrList<PlaylistItem>*>::Iterator cur = it++;
if( map.contains( cur.key() ))
{
updateEntriesStatusAdded( map[it.key()], it.key() );
uniquecopy.remove( it );
updateEntriesStatusAdded( map[cur.key()], cur.key() );
uniquecopy.remove( cur );
}
}

Loading…
Cancel
Save