diff --git a/src/song.cpp b/src/song.cpp index 5541b84a..078debe5 100644 --- a/src/song.cpp +++ b/src/song.cpp @@ -200,6 +200,9 @@ Song & Song::operator=(const Song &s) itsTrack = s.itsTrack; itsYear = s.itsYear; itsGenre = s.itsGenre; + itsComposer = s.itsComposer; + itsPerformer = s.itsPerformer; + itsDisc = s.itsDisc; itsComment = s.itsComment; itsHash = s.itsHash; itsMinutesLength = s.itsMinutesLength; @@ -212,12 +215,12 @@ Song & Song::operator=(const Song &s) bool Song::operator==(const Song &s) const { - return itsFile == s.itsFile && itsArtist == s.itsArtist && itsTitle == s.itsTitle && itsAlbum == s.itsAlbum && itsTrack == s.itsTrack && itsYear == s.itsYear && itsGenre == s.itsGenre && itsComment == s.itsComment && itsHash == s.itsHash && itsMinutesLength && s.itsMinutesLength && itsSecondsLength == s.itsSecondsLength && itsPosition == s.itsPosition && itsID == s.itsID; + return itsFile == s.itsFile && itsArtist == s.itsArtist && itsTitle == s.itsTitle && itsAlbum == s.itsAlbum && itsTrack == s.itsTrack && itsYear == s.itsYear && itsGenre == s.itsGenre && itsComposer == s.itsComposer && itsPerformer == s.itsPerformer && itsDisc == s.itsDisc && itsComment == s.itsComment && itsHash == s.itsHash && itsMinutesLength && s.itsMinutesLength && itsSecondsLength == s.itsSecondsLength && itsPosition == s.itsPosition && itsID == s.itsID; } bool Song::operator!=(const Song &s) const { - return itsFile != s.itsFile || itsArtist != s.itsArtist || itsTitle != s.itsTitle || itsAlbum != s.itsAlbum || itsTrack != s.itsTrack || itsYear != s.itsYear || itsGenre != s.itsGenre || itsComment != s.itsComment || itsHash != s.itsHash || itsMinutesLength || s.itsMinutesLength || itsSecondsLength != s.itsSecondsLength || itsPosition != s.itsPosition || itsID != s.itsID; + return itsFile != s.itsFile || itsArtist != s.itsArtist || itsTitle != s.itsTitle || itsAlbum != s.itsAlbum || itsTrack != s.itsTrack || itsYear != s.itsYear || itsGenre != s.itsGenre || itsComposer != s.itsComposer || itsPerformer != s.itsPerformer || itsDisc != s.itsDisc || itsComment != s.itsComment || itsHash != s.itsHash || itsMinutesLength != s.itsMinutesLength || itsSecondsLength != s.itsSecondsLength || itsPosition != s.itsPosition || itsID != s.itsID; } bool Song::operator<(const Song &s) const diff --git a/src/status_checker.cpp b/src/status_checker.cpp index 6a7bc119..5944ad00 100644 --- a/src/status_checker.cpp +++ b/src/status_checker.cpp @@ -201,16 +201,10 @@ void NcmpcppStatusChanged(MPDConnection *Mpd, MPDStatusChanges changed, void *da for (SongList::iterator it = vPlaylist.begin(); it != vPlaylist.end(); it++, i++) { - - (*j)->GetEmptyFields(1); - (*it)->GetEmptyFields(1); if (**it != **j) { - (*it)->GetEmptyFields(0); - (*j)->GetEmptyFields(0); - Song *s = new Song(**j); - **it = *s; - mPlaylist->UpdateOption(i, DisplaySong(*s)); + **it = **j; + mPlaylist->UpdateOption(i, DisplaySong(**it)); } j++; }