-void RenderJob::slotIsOver(int exitcode, QProcess::ExitStatus status) {
- if (m_jobUiserver) m_jobUiserver->call("terminate", QString());
+void RenderJob::slotCheckProcess(QProcess::ProcessState state)
+{
+ if (state == QProcess::NotRunning) slotIsOver(m_renderProcess->exitStatus());
+}
+
+
+
+void RenderJob::slotIsOver(QProcess::ExitStatus status, bool isWritable)
+{
+ if (m_jobUiserver) m_jobUiserver->call(QLatin1String("terminate"), QString());
+ if (!isWritable) {
+ QString error = tr("Cannot write to %1, check the permissions.").arg(m_dest);
+ if (m_kdenliveinterface) {
+ m_dbusargs[1] = (int) - 2;
+ m_dbusargs.append(error);
+ m_kdenliveinterface->callWithArgumentList(QDBus::NoBlock, QLatin1String("setRenderingFinished"), m_dbusargs);
+ }
+ QStringList args;
+ args << QLatin1String("--error") << error;
+ if (m_enablelog) m_logstream << error << endl;
+ qDebug() << error;
+ QProcess::startDetached(QLatin1String("kdialog"), args);
+ qApp->quit();
+ }