From kde-commits Thu Jun 30 23:00:14 2016 From: Jean-Baptiste Mardelle Date: Thu, 30 Jun 2016 23:00:14 +0000 To: kde-commits Subject: [kdenlive] src/project/jobs: Better fix for clip job counter, Correctly discard waiting job status o Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=146732762711564 Git commit 3dc330cdcc6f49d79759e1ba1fee51cc8936e581 by Jean-Baptiste Mardel= le. Committed on 30/06/2016 at 23:00. Pushed by mardelle into branch 'master'. Better fix for clip job counter, Correctly discard waiting job status on di= scard M +6 -3 src/project/jobs/jobmanager.cpp http://commits.kde.org/kdenlive/3dc330cdcc6f49d79759e1ba1fee51cc8936e581 diff --git a/src/project/jobs/jobmanager.cpp b/src/project/jobs/jobmanager.= cpp index 2130ec5..2ed6580 100644 --- a/src/project/jobs/jobmanager.cpp +++ b/src/project/jobs/jobmanager.cpp @@ -90,6 +90,7 @@ void JobManager::discardJobs(const QString &id, AbstractC= lipJob::JOBTYPE type) m_jobList.at(i)->setStatus(JobAborted); } } + emit updateJobStatus(id, type, JobAborted); updateJobCount(); } = @@ -149,18 +150,18 @@ void JobManager::updateJobCount() = void JobManager::slotProcessJobs() { + bool firstPass =3D true; while (!m_jobList.isEmpty() && !m_abortAllJobs) { AbstractClipJob *job =3D NULL; m_jobMutex.lock(); - int i =3D 0; - for (; i < m_jobList.count(); ++i) { + for (int i =3D 0; i < m_jobList.count(); ++i) { if (m_jobList.at(i)->status() =3D=3D JobWaiting) { job =3D m_jobList.at(i); job->setStatus(JobWorking); break; } } - if (i > 0) { + if (!firstPass) { updateJobCount(); } m_jobMutex.unlock(); @@ -168,6 +169,7 @@ void JobManager::slotProcessJobs() if (job =3D=3D NULL) { break; } + firstPass =3D false; QString destination =3D job->destination(); // Check if the clip is still here ProjectClip *currentClip =3D m_bin->getBinClip(job->clipId()); @@ -300,6 +302,7 @@ void JobManager::slotCancelPendingJobs() if (m_jobList.at(i)->status() =3D=3D JobWaiting) { // discard this job m_jobList.at(i)->setStatus(JobAborted); + emit updateJobStatus(m_jobList.at(i)->clipId(), m_jobList.at(i= )->jobType, JobAborted); } } updateJobCount();