Merge branch 'develop' of github.com:MultiMC/MultiMC5 into new-version-system
This commit is contained in:
		@@ -1,26 +1,20 @@
 | 
			
		||||
#include "JavaChecker.h"
 | 
			
		||||
#include "MultiMC.h"
 | 
			
		||||
#include <pathutils.h>
 | 
			
		||||
#include <QFile>
 | 
			
		||||
#include <QProcess>
 | 
			
		||||
#include <QMap>
 | 
			
		||||
#include <QTemporaryFile>
 | 
			
		||||
 | 
			
		||||
#define CHECKER_FILE "JavaChecker.jar"
 | 
			
		||||
 | 
			
		||||
JavaChecker::JavaChecker(QObject *parent) : QObject(parent)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void JavaChecker::performCheck()
 | 
			
		||||
{
 | 
			
		||||
	checkerJar.setFileTemplate("checker_XXXXXX.jar");
 | 
			
		||||
	checkerJar.open();
 | 
			
		||||
	QFile inner(":/java/checker.jar");
 | 
			
		||||
	inner.open(QIODevice::ReadOnly);
 | 
			
		||||
	checkerJar.write(inner.readAll());
 | 
			
		||||
	inner.close();
 | 
			
		||||
	checkerJar.close();
 | 
			
		||||
	QString checkerJar = PathCombine(MMC->bin(), "jars", "JavaCheck.jar");
 | 
			
		||||
 | 
			
		||||
	QStringList args = {"-jar", checkerJar.fileName()};
 | 
			
		||||
	QStringList args = {"-jar", checkerJar};
 | 
			
		||||
 | 
			
		||||
	process.reset(new QProcess());
 | 
			
		||||
	process->setArguments(args);
 | 
			
		||||
@@ -42,7 +36,6 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status)
 | 
			
		||||
	killTimer.stop();
 | 
			
		||||
	QProcessPtr _process;
 | 
			
		||||
	_process.swap(process);
 | 
			
		||||
	checkerJar.remove();
 | 
			
		||||
 | 
			
		||||
	JavaCheckResult result;
 | 
			
		||||
	{
 | 
			
		||||
@@ -100,7 +93,6 @@ void JavaChecker::error(QProcess::ProcessError err)
 | 
			
		||||
	if(err == QProcess::FailedToStart)
 | 
			
		||||
	{
 | 
			
		||||
		killTimer.stop();
 | 
			
		||||
		checkerJar.remove();
 | 
			
		||||
 | 
			
		||||
		JavaCheckResult result;
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
#include <QProcess>
 | 
			
		||||
#include <QTimer>
 | 
			
		||||
#include <QTemporaryFile>
 | 
			
		||||
#include <memory>
 | 
			
		||||
 | 
			
		||||
class JavaChecker;
 | 
			
		||||
@@ -35,7 +34,6 @@ signals:
 | 
			
		||||
private:
 | 
			
		||||
	QProcessPtr process;
 | 
			
		||||
	QTimer killTimer;
 | 
			
		||||
	QTemporaryFile checkerJar;
 | 
			
		||||
public
 | 
			
		||||
slots:
 | 
			
		||||
	void timeout();
 | 
			
		||||
 
 | 
			
		||||
@@ -31,8 +31,6 @@
 | 
			
		||||
 | 
			
		||||
#include "gui/dialogs/LegacyModEditDialog.h"
 | 
			
		||||
 | 
			
		||||
#define LAUNCHER_FILE "MultiMCLauncher.jar"
 | 
			
		||||
 | 
			
		||||
LegacyInstance::LegacyInstance(const QString &rootDir, SettingsObject *settings,
 | 
			
		||||
							   QObject *parent)
 | 
			
		||||
	: BaseInstance(new LegacyInstancePrivate(), rootDir, settings, parent)
 | 
			
		||||
@@ -61,7 +59,7 @@ MinecraftProcess *LegacyInstance::prepareForLaunch(MojangAccountPtr account)
 | 
			
		||||
	pixmap.save(PathCombine(minecraftRoot(), "icon.png"), "PNG");
 | 
			
		||||
 | 
			
		||||
	// extract the legacy launcher
 | 
			
		||||
	QFile(":/java/launcher.jar").copy(PathCombine(minecraftRoot(), LAUNCHER_FILE));
 | 
			
		||||
	QString launcherJar = PathCombine(MMC->bin(), "jars", "MultiMCLauncher.jar");
 | 
			
		||||
 | 
			
		||||
	// set the process arguments
 | 
			
		||||
	{
 | 
			
		||||
@@ -104,7 +102,7 @@ MinecraftProcess *LegacyInstance::prepareForLaunch(MojangAccountPtr account)
 | 
			
		||||
						"minecraft.exe.heapdump");
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		args << "-jar" << LAUNCHER_FILE;
 | 
			
		||||
		args << "-jar" << launcherJar;
 | 
			
		||||
		args << account->currentProfile()->name;
 | 
			
		||||
		args << account->sessionId();
 | 
			
		||||
		args << windowTitle;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user