summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/onesix
diff options
context:
space:
mode:
Diffstat (limited to 'logic/minecraft/onesix')
-rw-r--r--logic/minecraft/onesix/OneSixInstance.cpp20
-rw-r--r--logic/minecraft/onesix/OneSixProfileStrategy.cpp2
-rw-r--r--logic/minecraft/onesix/OneSixUpdate.cpp15
3 files changed, 11 insertions, 26 deletions
diff --git a/logic/minecraft/onesix/OneSixInstance.cpp b/logic/minecraft/onesix/OneSixInstance.cpp
index 3e83ff1c..f8b274ff 100644
--- a/logic/minecraft/onesix/OneSixInstance.cpp
+++ b/logic/minecraft/onesix/OneSixInstance.cpp
@@ -463,23 +463,17 @@ QString OneSixInstance::currentVersionId() const
void OneSixInstance::reloadProfile()
{
- try
- {
- m_profile->reload();
- unsetFlag(VersionBrokenFlag);
- emit versionReloaded();
- }
- catch (VersionIncomplete &error)
+ m_profile->reload();
+ auto severity = m_profile->getProblemSeverity();
+ if(severity == ProblemSeverity::PROBLEM_ERROR)
{
+ setFlag(VersionBrokenFlag);
}
- catch (Exception &error)
+ else
{
- m_profile->clear();
- setFlag(VersionBrokenFlag);
- // TODO: rethrow to show some error message(s)?
- emit versionReloaded();
- throw;
+ unsetFlag(VersionBrokenFlag);
}
+ emit versionReloaded();
}
void OneSixInstance::clearProfile()
diff --git a/logic/minecraft/onesix/OneSixProfileStrategy.cpp b/logic/minecraft/onesix/OneSixProfileStrategy.cpp
index baec635e..3ae055c0 100644
--- a/logic/minecraft/onesix/OneSixProfileStrategy.cpp
+++ b/logic/minecraft/onesix/OneSixProfileStrategy.cpp
@@ -407,7 +407,7 @@ bool OneSixProfileStrategy::installJarMods(QStringList filepaths)
profile->appendPatch(f);
}
profile->saveCurrentOrder();
- profile->reapplySafe();
+ profile->reapplyPatches();
return true;
}
diff --git a/logic/minecraft/onesix/OneSixUpdate.cpp b/logic/minecraft/onesix/OneSixUpdate.cpp
index 814cde18..b49f09b6 100644
--- a/logic/minecraft/onesix/OneSixUpdate.cpp
+++ b/logic/minecraft/onesix/OneSixUpdate.cpp
@@ -174,19 +174,10 @@ void OneSixUpdate::jarlibStart()
setStatus(tr("Getting the library files from Mojang..."));
qDebug() << m_inst->name() << ": downloading libraries";
OneSixInstance *inst = (OneSixInstance *)m_inst;
- try
+ inst->reloadProfile();
+ if(inst->flags() & BaseInstance::VersionBrokenFlag)
{
- inst->reloadProfile();
- }
- catch (Exception &e)
- {
- emitFailed(e.cause());
- return;
- }
- catch (...)
- {
- emitFailed(tr("Failed to load the version description file for reasons unknown."));
- return;
+ emitFailed(tr("Failed to load the version description files - check the instance for errors."));
}
// Build a list of URLs that will need to be downloaded.