From a666dc0a1afa69b5b42aa3a487c8fa971c01cde1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 1 Jan 2017 19:59:46 +0100 Subject: NOISSUE fix up translation selection in settings and add OS/sys arch reporting --- api/logic/java/launch/CheckJava.cpp | 20 ++++++++++++++++++++ api/logic/java/launch/CheckJava.h | 1 + 2 files changed, 21 insertions(+) (limited to 'api/logic/java') diff --git a/api/logic/java/launch/CheckJava.cpp b/api/logic/java/launch/CheckJava.cpp index 41bb6398..717fad49 100644 --- a/api/logic/java/launch/CheckJava.cpp +++ b/api/logic/java/launch/CheckJava.cpp @@ -18,6 +18,7 @@ #include #include #include +#include void CheckJava::executeTask() { @@ -83,6 +84,7 @@ void CheckJava::checkJavaFinished(JavaCheckResult result) emit logLine(tr("Could not start java:"), MessageLevel::Error); emit logLines(result.errorLog.split('\n'), MessageLevel::Error); emit logLine("\nCheck your MultiMC Java settings.", MessageLevel::MultiMC); + printSystemInfo(false, false); emitFailed(tr("Could not start java!")); } else @@ -99,4 +101,22 @@ void CheckJava::checkJavaFinished(JavaCheckResult result) void CheckJava::printJavaInfo(const QString& version, const QString& architecture) { emit logLine(tr("Java is version %1, using %2-bit architecture.\n\n").arg(version, architecture), MessageLevel::MultiMC); + printSystemInfo(true, architecture == "64"); +} + +void CheckJava::printSystemInfo(bool javaIsKnown, bool javaIs64bit) +{ + auto cpu64 = Sys::isCPU64bit(); + auto system64 = Sys::isSystem64bit(); + if(cpu64 != system64) + { + emit logLine(tr("Your CPU architecture is not matching your system architecture. You might want to install a 64bit Operating System.\n\n"), MessageLevel::Error); + } + if(javaIsKnown) + { + if(javaIs64bit != system64) + { + emit logLine(tr("Your Java architecture is not matching your system architecture. You might want to install a 64bit Java version.\n\n"), MessageLevel::Error); + } + } } diff --git a/api/logic/java/launch/CheckJava.h b/api/logic/java/launch/CheckJava.h index 7126f4c4..9e16cbd2 100644 --- a/api/logic/java/launch/CheckJava.h +++ b/api/logic/java/launch/CheckJava.h @@ -36,6 +36,7 @@ private slots: private: void printJavaInfo(const QString & version, const QString & architecture); + void printSystemInfo(bool javaIsKnown, bool javaIs64bit); private: QString m_javaPath; -- cgit v1.2.3