| 111 | } |
| 112 | |
| 113 | void CheckJava::checkJavaFinished(const JavaChecker::Result& result) |
| 114 | { |
| 115 | switch (result.validity) { |
| 116 | case JavaChecker::Result::Validity::Errored: { |
| 117 | // Error message displayed if java can't start |
| 118 | emit logLine(QString("Could not start java:"), MessageLevel::Error); |
| 119 | emit logLines(result.errorLog.split('\n'), MessageLevel::Error); |
| 120 | emit logLine(QString("\nCheck your Java settings."), MessageLevel::Launcher); |
| 121 | emitFailed(QString("Could not start java!")); |
| 122 | return; |
| 123 | } |
| 124 | case JavaChecker::Result::Validity::ReturnedInvalidData: { |
| 125 | emit logLine(QString("Java checker returned some invalid data we don't understand:"), MessageLevel::Error); |
| 126 | emit logLines(result.outLog.split('\n'), MessageLevel::Warning); |
| 127 | emit logLine("\nMinecraft might not start properly.", MessageLevel::Launcher); |
| 128 | m_parent->instance()->updateRuntimeContext(); |
| 129 | emitSucceeded(); |
| 130 | return; |
| 131 | } |
| 132 | case JavaChecker::Result::Validity::Valid: { |
| 133 | auto instance = m_parent->instance(); |
| 134 | printJavaInfo(result.javaVersion.toString(), result.mojangPlatform, result.realPlatform, result.javaVendor); |
| 135 | instance->settings()->set("JavaVersion", result.javaVersion.toString()); |
| 136 | instance->settings()->set("JavaArchitecture", result.mojangPlatform); |
| 137 | instance->settings()->set("JavaRealArchitecture", result.realPlatform); |
| 138 | instance->settings()->set("JavaVendor", result.javaVendor); |
| 139 | instance->settings()->set("JavaSignature", m_javaSignature); |
| 140 | m_parent->instance()->updateRuntimeContext(); |
| 141 | emitSucceeded(); |
| 142 | return; |
| 143 | } |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | void CheckJava::printJavaInfo(const QString& version, const QString& architecture, const QString& realArchitecture, const QString& vendor) |
| 148 | { |