Fix Java checker leaving behind temporary jar files

This commit is contained in:
Petr Mrázek 2013-12-22 23:05:18 +01:00
parent 42bc02dc8a
commit 3841260ef1
3 changed files with 8 additions and 6 deletions

View File

@ -99,6 +99,7 @@ void JavaChecker::error(QProcess::ProcessError err)
if(err == QProcess::FailedToStart) if(err == QProcess::FailedToStart)
{ {
killTimer.stop(); killTimer.stop();
checkerJar.remove();
JavaCheckResult result; JavaCheckResult result;
{ {
@ -116,6 +117,5 @@ void JavaChecker::timeout()
if(process) if(process)
{ {
process->kill(); process->kill();
process.reset();
} }
} }

View File

@ -177,9 +177,9 @@ void JavaListLoadTask::executeTask()
JavaUtils ju; JavaUtils ju;
QList<QString> candidate_paths = ju.FindJavaPaths(); QList<QString> candidate_paths = ju.FindJavaPaths();
auto job = new JavaCheckerJob("Java detection"); m_job = std::shared_ptr<JavaCheckerJob>(new JavaCheckerJob("Java detection"));
connect(job, SIGNAL(finished(QList<JavaCheckResult>)), this, SLOT(javaCheckerFinished(QList<JavaCheckResult>))); connect(m_job.get(), SIGNAL(finished(QList<JavaCheckResult>)), this, SLOT(javaCheckerFinished(QList<JavaCheckResult>)));
connect(job, SIGNAL(progress(int, int)), this, SLOT(checkerProgress(int, int))); connect(m_job.get(), SIGNAL(progress(int, int)), this, SLOT(checkerProgress(int, int)));
QLOG_DEBUG() << "Probing the following Java paths: "; QLOG_DEBUG() << "Probing the following Java paths: ";
for(QString candidate : candidate_paths) for(QString candidate : candidate_paths)
@ -188,10 +188,10 @@ void JavaListLoadTask::executeTask()
auto candidate_checker = new JavaChecker(); auto candidate_checker = new JavaChecker();
candidate_checker->path = candidate; candidate_checker->path = candidate;
job->addJavaCheckerAction(JavaCheckerPtr(candidate_checker)); m_job->addJavaCheckerAction(JavaCheckerPtr(candidate_checker));
} }
job->start(); m_job->start();
} }
void JavaListLoadTask::checkerProgress(int current, int total) void JavaListLoadTask::checkerProgress(int current, int total)
@ -203,6 +203,7 @@ void JavaListLoadTask::checkerProgress(int current, int total)
void JavaListLoadTask::javaCheckerFinished(QList<JavaCheckResult> results) void JavaListLoadTask::javaCheckerFinished(QList<JavaCheckResult> results)
{ {
QList<JavaVersionPtr> candidates; QList<JavaVersionPtr> candidates;
m_job.reset();
QLOG_DEBUG() << "Found the following valid Java installations:"; QLOG_DEBUG() << "Found the following valid Java installations:";
for(JavaCheckResult result : results) for(JavaCheckResult result : results)

View File

@ -90,6 +90,7 @@ public slots:
void checkerProgress(int current, int total); void checkerProgress(int current, int total);
protected: protected:
std::shared_ptr<JavaCheckerJob> m_job;
JavaVersionList *m_list; JavaVersionList *m_list;
JavaVersion *m_currentRecommended; JavaVersion *m_currentRecommended;
}; };