Skip to content

Commit

Permalink
Fix: Respect caching flag in BaseTrackCache
Browse files Browse the repository at this point in the history
...this conditional behavior has been lost when removing the recent
tracks cache from TrackDAO.
  • Loading branch information
uklotzde committed Dec 16, 2017
1 parent 01fe7ca commit bc407e6
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions src/library/basetrackcache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,16 +145,18 @@ void BaseTrackCache::setSearchColumns(const QStringList& columns) {
}

TrackPointer BaseTrackCache::lookupCachedTrack(TrackId trackId) const {
auto pTrack = TrackCache::instance().lookupById(trackId).getTrack();
// After obtaining a strong reference of the Track object the lock
// on TrackCache has been released instantly to reduce lock contention!
if (pTrack && pTrack->isDirty()) {
m_dirtyTracks.insert(trackId);
return pTrack;
} else {
m_dirtyTracks.remove(trackId);
return TrackPointer();
TrackPointer pTrack;
if (m_bIsCaching) {
pTrack = TrackCache::instance().lookupById(trackId).getTrack();
// After obtaining a strong reference of the Track object the lock
// on TrackCache has been released instantly to reduce lock contention!
if (pTrack && pTrack->isDirty()) {
m_dirtyTracks.insert(trackId);
} else {
m_dirtyTracks.remove(trackId);
}
}
return pTrack;
}

bool BaseTrackCache::updateIndexWithTrackpointer(TrackPointer pTrack) {
Expand Down

0 comments on commit bc407e6

Please sign in to comment.