diff --git a/src/lutrisimporter.cpp b/src/lutrisimporter.cpp index 5961c87..e09ff95 100644 --- a/src/lutrisimporter.cpp +++ b/src/lutrisimporter.cpp @@ -98,7 +98,7 @@ QList LutrisImporter::importGames() QProcess process; process.start(lutrisPath, {QStringLiteral("-lo"), QStringLiteral("--json")}); - if (process.waitForFinished(30000)) { + if (process.waitForStarted(5000) && process.waitForFinished(30000)) { QByteArray output = process.readAllStandardOutput(); QJsonDocument doc = QJsonDocument::fromJson(output); @@ -139,6 +139,14 @@ QList LutrisImporter::importGames() Q_EMIT importProgress(current, total); } } + } else { + if (process.state() != QProcess::NotRunning) { + process.terminate(); + if (!process.waitForFinished(3000)) { + process.kill(); + process.waitForFinished(3000); + } + } } }