Skip to content

Commit

Permalink
Merge pull request #4534 from uklotzde/is-dirty-const
Browse files Browse the repository at this point in the history
Fix isDirty() signature and semantics
  • Loading branch information
Holzhaus authored Nov 21, 2021
2 parents 7e1f609 + 04210b9 commit b3bf167
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/controllers/dlgprefcontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class DlgPrefController : public DlgPreferencePage {
/// that can be applied or discarded.
///
/// @param bDirty The new dialog's dirty state.
bool isDirty() {
bool isDirty() const {
return m_bDirty;
}

Expand Down
26 changes: 12 additions & 14 deletions src/library/dao/trackdao.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -306,12 +306,12 @@ void TrackDAO::saveTrack(Track* pTrack) const {
qDebug() << "TrackDAO: Saving track"
<< trackId
<< pTrack->getFileInfo();
if (updateTrack(pTrack)) {
if (updateTrack(*pTrack)) {
// BaseTrackCache must be informed separately, because the
// track has already been disconnected and TrackDAO does
// not receive any signals that are usually forwarded to
// BaseTrackCache.
DEBUG_ASSERT(!pTrack->isDirty());
pTrack->markClean();
emit mixxx::thisAsNonConst(this)->trackClean(trackId);
}
}
Expand Down Expand Up @@ -1598,14 +1598,14 @@ TrackPointer TrackDAO::getTrackByRef(
}

// Saves a track's info back to the database
bool TrackDAO::updateTrack(Track* pTrack) const {
const TrackId trackId = pTrack->getId();
bool TrackDAO::updateTrack(const Track& track) const {
const TrackId trackId = track.getId();
DEBUG_ASSERT(trackId.isValid());

qDebug() << "TrackDAO:"
<< "Updating track in database"
<< trackId
<< pTrack->getFileInfo();
<< "Updating track in database"
<< trackId
<< track.getFileInfo();

SqlTransaction transaction(m_database);
// PerformanceTimer time;
Expand Down Expand Up @@ -1664,11 +1664,11 @@ bool TrackDAO::updateTrack(Track* pTrack) const {

query.bindValue(":track_id", trackId.toVariant());

const auto trackRecord = pTrack->getRecord();
const auto trackRecord = track.getRecord();
bindTrackLibraryValues(
&query,
trackRecord,
pTrack->getBeats());
track.getBeats());

VERIFY_OR_DEBUG_ASSERT(query.exec()) {
LOG_FAILED_QUERY(query);
Expand All @@ -1684,16 +1684,14 @@ bool TrackDAO::updateTrack(Track* pTrack) const {
//time.start();
m_analysisDao.saveTrackAnalyses(
trackId,
pTrack->getWaveform(),
pTrack->getWaveformSummary());
track.getWaveform(),
track.getWaveformSummary());
m_cueDao.saveTrackCues(
trackId, pTrack->getCuePoints());
trackId, track.getCuePoints());
transaction.commit();

//qDebug() << "Update track in database took: " << time.elapsed().formatMillisWithUnit();
//time.start();
pTrack->markClean();
//qDebug() << "Dirtying track took: " << time.elapsed().formatMillisWithUnit();
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion src/library/dao/trackdao.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ class TrackDAO : public QObject, public virtual DAO, public virtual GlobalTrackC
}
void addTracksFinish(bool rollback = false);

bool updateTrack(Track* pTrack) const;
bool updateTrack(const Track& track) const;

void hideAllTracks(const QDir& rootDir) const;

Expand Down
3 changes: 1 addition & 2 deletions src/track/track.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1311,12 +1311,11 @@ void Track::setDirtyAndUnlock(QT_RECURSIVE_MUTEX_LOCKER* pLock, bool bDirty) {
}
}

bool Track::isDirty() {
bool Track::isDirty() const {
const auto locked = lockMutex(&m_qMutex);
return m_bDirty;
}


void Track::markForMetadataExport() {
const auto locked = lockMutex(&m_qMutex);
m_bMarkedForMetadataExport = true;
Expand Down
2 changes: 1 addition & 1 deletion src/track/track.h
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ class Track : public QObject {
mixxx::CueInfoImporterPointer pCueInfoImporter);
ImportStatus getCueImportStatus() const;

bool isDirty();
bool isDirty() const;

// Get the track's Beats list
mixxx::BeatsPointer getBeats() const;
Expand Down

0 comments on commit b3bf167

Please sign in to comment.