diff --git a/src/indexeddataretriever.h b/src/indexeddataretriever.h --- a/src/indexeddataretriever.h +++ b/src/indexeddataretriever.h @@ -39,7 +39,7 @@ QVariantMap data() const; private Q_SLOTS: - void slotIndexedFile(int error); + void slotIndexedFile(int exitCode, QProcess::ExitStatus exitStatus); private: QString m_url; diff --git a/src/indexeddataretriever.cpp b/src/indexeddataretriever.cpp --- a/src/indexeddataretriever.cpp +++ b/src/indexeddataretriever.cpp @@ -44,12 +44,15 @@ m_process = new QProcess(this); m_process->setReadChannel(QProcess::StandardOutput); - connect(m_process, static_cast(&QProcess::finished), this, &IndexedDataRetriever::slotIndexedFile); + connect(m_process, QOverload::of(&QProcess::finished), this, &IndexedDataRetriever::slotIndexedFile); m_process->start(exe, QStringList() << m_url); } -void IndexedDataRetriever::slotIndexedFile(int) +void IndexedDataRetriever::slotIndexedFile(int exitCode, QProcess::ExitStatus exitStatus) { + if (exitStatus == QProcess::CrashExit) { + qWarning() << "Extractor crashed when processing" << m_url; + } QByteArray data = m_process->readAllStandardOutput(); QDataStream in(&data, QIODevice::ReadOnly); in >> m_data;