diff options
author | Sky <git@bunnies.cc> | 2013-12-13 14:58:35 +0000 |
---|---|---|
committer | Sky <git@bunnies.cc> | 2013-12-13 14:58:35 +0000 |
commit | b69351d50d07bab595945d064e4d29b123c19105 (patch) | |
tree | 5cf6be9ef49ad10a211a0544e5481f36e49a306a /logic/JavaChecker.cpp | |
parent | 979946b7bb2cec808198f9194169ea08cce8bb00 (diff) | |
parent | 0af6f96c3de54c940799826ff6f3c89bb46f1540 (diff) | |
download | MultiMC-b69351d50d07bab595945d064e4d29b123c19105.tar MultiMC-b69351d50d07bab595945d064e4d29b123c19105.tar.gz MultiMC-b69351d50d07bab595945d064e4d29b123c19105.tar.lz MultiMC-b69351d50d07bab595945d064e4d29b123c19105.tar.xz MultiMC-b69351d50d07bab595945d064e4d29b123c19105.zip |
Merge branch 'develop' of github.com:Drayshak/MultiMC5 into develop
Diffstat (limited to 'logic/JavaChecker.cpp')
-rw-r--r-- | logic/JavaChecker.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/logic/JavaChecker.cpp b/logic/JavaChecker.cpp index 38bbf700..2b94fbb6 100644 --- a/logic/JavaChecker.cpp +++ b/logic/JavaChecker.cpp @@ -2,6 +2,7 @@ #include <QFile> #include <QProcess> #include <QMap> +#include <QTemporaryFile> #define CHECKER_FILE "JavaChecker.jar" @@ -11,14 +12,15 @@ JavaChecker::JavaChecker(QObject *parent) : QObject(parent) void JavaChecker::performCheck() { - if(QFile::exists(CHECKER_FILE)) - { - QFile::remove(CHECKER_FILE); - } - // extract the checker - QFile(":/java/checker.jar").copy(CHECKER_FILE); + checkerJar.setFileTemplate("checker_XXXXXX.jar"); + checkerJar.open(); + QFile inner(":/java/checker.jar"); + inner.open(QIODevice::ReadOnly); + checkerJar.write(inner.readAll()); + inner.close(); + checkerJar.close(); - QStringList args = {"-jar", CHECKER_FILE}; + QStringList args = {"-jar", checkerJar.fileName()}; process.reset(new QProcess()); process->setArguments(args); @@ -40,6 +42,7 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) killTimer.stop(); QProcessPtr _process; _process.swap(process); + checkerJar.remove(); JavaCheckResult result; { |