Detect java bitness on launch, use appropriate libraries

Fixes problems with latest snapshot
This commit is contained in:
Petr Mrázek
2013-11-25 00:46:52 +01:00
parent 82225a21e1
commit 088b039cf7
10 changed files with 163 additions and 103 deletions

View File

@ -21,6 +21,7 @@
#include "logic/net/NetJob.h"
#include "logic/tasks/Task.h"
#include "logic/JavaChecker.h"
class MinecraftVersion;
class BaseInstance;
@ -29,7 +30,7 @@ class OneSixUpdate : public Task
{
Q_OBJECT
public:
explicit OneSixUpdate(BaseInstance *inst, QObject *parent = 0);
explicit OneSixUpdate(BaseInstance *inst, bool prepare_for_launch, QObject *parent = 0);
virtual void executeTask();
private
@ -42,11 +43,20 @@ slots:
void jarlibFinished();
void jarlibFailed();
void checkJava();
void checkFinished(JavaCheckResult result);
// extract the appropriate libraries
void prepareForLaunch();
private:
NetJobPtr specificVersionDownloadJob;
NetJobPtr jarlibDownloadJob;
// target version, determined during this task
std::shared_ptr<MinecraftVersion> targetVersion;
BaseInstance *m_inst;
BaseInstance *m_inst = nullptr;
bool m_prepare_for_launch = false;
std::shared_ptr<JavaChecker> checker;
bool java_is_64bit = false;
};