+ while (m_jobProcess->state() != QProcess::NotRunning) {
+ processLogInfo();
+ if (m_jobStatus == JobAborted) {
+ m_jobProcess->close();
+ m_jobProcess->waitForFinished();
+ QFile::remove(m_dest);
+ }
+ m_jobProcess->waitForFinished(400);
+ }
+
+ if (m_jobStatus != JobAborted) {
+ int result = m_jobProcess->exitStatus();
+ if (result == QProcess::NormalExit) {
+ if (QFileInfo(m_dest).size() == 0) {
+ // File was not created
+ processLogInfo();
+ m_errorMessage.append(i18n("Failed to create file."));
+ setStatus(JobCrashed);
+ } else {
+ setStatus(JobDone);
+ }
+ } else if (result == QProcess::CrashExit) {
+ // Proxy process crashed
+ QFile::remove(m_dest);
+ setStatus(JobCrashed);
+ }
+ }
+ delete m_jobProcess;
+ return;
+ } else {
+ m_errorMessage = i18n("Cannot process this clip type.");