[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src/project/jobs: Better fix for clip job counter, Correctly discard waiting job status o
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2016-06-30 23:00:14
Message-ID: E1bIkwQ-0005KK-Rr () code ! kde ! org
[Download RAW message or body]
Git commit 3dc330cdcc6f49d79759e1ba1fee51cc8936e581 by Jean-Baptiste Mardelle.
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 discard
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, AbstractClipJob::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 = true;
while (!m_jobList.isEmpty() && !m_abortAllJobs) {
AbstractClipJob *job = NULL;
m_jobMutex.lock();
- int i = 0;
- for (; i < m_jobList.count(); ++i) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->status() == JobWaiting) {
job = 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 == NULL) {
break;
}
+ firstPass = false;
QString destination = job->destination();
// Check if the clip is still here
ProjectClip *currentClip = m_bin->getBinClip(job->clipId());
@@ -300,6 +302,7 @@ void JobManager::slotCancelPendingJobs()
if (m_jobList.at(i)->status() == JobWaiting) {
// discard this job
m_jobList.at(i)->setStatus(JobAborted);
+ emit updateJobStatus(m_jobList.at(i)->clipId(), m_jobList.at(i)->jobType, JobAborted);
}
}
updateJobCount();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic