| 100 | } |
| 101 | |
| 102 | void DirectJavaLaunch::on_state(LoggedProcess::State state) |
| 103 | { |
| 104 | switch(state) |
| 105 | { |
| 106 | case LoggedProcess::FailedToStart: |
| 107 | { |
| 108 | //: Error message displayed if instance can't start |
| 109 | const char *reason = QT_TR_NOOP("Could not launch Minecraft!"); |
| 110 | emit logLine(reason, MessageLevel::Fatal); |
| 111 | emitFailed(tr(reason)); |
| 112 | return; |
| 113 | } |
| 114 | case LoggedProcess::Aborted: |
| 115 | case LoggedProcess::Crashed: |
| 116 | { |
| 117 | m_parent->setPid(-1); |
| 118 | emitFailed(tr("Game crashed.")); |
| 119 | return; |
| 120 | } |
| 121 | case LoggedProcess::Finished: |
| 122 | { |
| 123 | m_parent->setPid(-1); |
| 124 | // if the exit code wasn't 0, report this as a crash |
| 125 | auto exitCode = m_process.exitCode(); |
| 126 | if(exitCode != 0) |
| 127 | { |
| 128 | emitFailed(tr("Game crashed.")); |
| 129 | return; |
| 130 | } |
| 131 | //FIXME: make this work again |
| 132 | // m_postlaunchprocess.processEnvironment().insert("INST_EXITCODE", QString(exitCode)); |
| 133 | // run post-exit |
| 134 | emitSucceeded(); |
| 135 | break; |
| 136 | } |
| 137 | case LoggedProcess::Running: |
| 138 | emit logLine(QString("Minecraft process ID: %1\n\n").arg(m_process.processId()), MessageLevel::Launcher); |
| 139 | m_parent->setPid(m_process.processId()); |
| 140 | m_parent->instance()->setLastLaunch(); |
| 141 | break; |
| 142 | default: |
| 143 | break; |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | void DirectJavaLaunch::setWorkingDirectory(const QString &wd) |
| 148 | { |
nothing calls this directly
no test coverage detected