summaryrefslogtreecommitdiffstats
path: root/logic/BaseLauncher.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-07-10 00:06:05 +0200
committerPetr Mrázek <peterix@gmail.com>2015-07-10 00:06:05 +0200
commit5dd48e89f5a7facf8355641d0caf8deaec2a03ec (patch)
treeb23f1d3bdb09afe8f642e07df30f5a68f2b42a5e /logic/BaseLauncher.cpp
parent5133b0f34f1e6fc046787e7369b403a381a2f60c (diff)
downloadMultiMC-5dd48e89f5a7facf8355641d0caf8deaec2a03ec.tar
MultiMC-5dd48e89f5a7facf8355641d0caf8deaec2a03ec.tar.gz
MultiMC-5dd48e89f5a7facf8355641d0caf8deaec2a03ec.tar.lz
MultiMC-5dd48e89f5a7facf8355641d0caf8deaec2a03ec.tar.xz
MultiMC-5dd48e89f5a7facf8355641d0caf8deaec2a03ec.zip
GH-1034 do jar modding separate from update
Diffstat (limited to 'logic/BaseLauncher.cpp')
-rw-r--r--logic/BaseLauncher.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/logic/BaseLauncher.cpp b/logic/BaseLauncher.cpp
index 8dfb5f6d..4ab0c41a 100644
--- a/logic/BaseLauncher.cpp
+++ b/logic/BaseLauncher.cpp
@@ -421,7 +421,7 @@ void BaseLauncher::on_pre_state(LoggedProcess::State state)
void BaseLauncher::updateInstance()
{
- m_updateTask = m_instance->doUpdate();
+ m_updateTask = m_instance->createUpdateTask();
if(m_updateTask)
{
connect(m_updateTask.get(), SIGNAL(finished()), this, SLOT(updateFinished()));
@@ -435,7 +435,7 @@ void BaseLauncher::updateFinished()
{
if(m_updateTask->successful())
{
- makeReady();
+ doJarModding();
}
else
{
@@ -445,6 +445,28 @@ void BaseLauncher::updateFinished()
}
}
+void BaseLauncher::doJarModding()
+{
+ m_jarModTask = m_instance->createJarModdingTask();
+ if(!m_jarModTask)
+ {
+ jarModdingSucceeded();
+ }
+ connect(m_jarModTask.get(), SIGNAL(succeeded()), this, SLOT(jarModdingSucceeded()));
+ connect(m_jarModTask.get(), SIGNAL(failed(QString)), this, SLOT(jarModdingFailed(QString)));
+ m_jarModTask->start();
+}
+
+void BaseLauncher::jarModdingSucceeded()
+{
+ makeReady();
+}
+
+void BaseLauncher::jarModdingFailed(QString reason)
+{
+ emitFailed(reason);
+}
+
void BaseLauncher::makeReady()
{
QStringList args = javaArguments();