diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-03-18 15:02:54 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-03-26 17:05:27 +0100 |
commit | b7d8e512f4184a755809fe9a964a04921f8abf7c (patch) | |
tree | 2d67f30a2c57743dac5fc9dc819e6c5d58b41962 /logic/minecraft/onesix | |
parent | fb9dfcb951d9cf9c19fc868703cb66e15aa9a1e6 (diff) | |
download | MultiMC-b7d8e512f4184a755809fe9a964a04921f8abf7c.tar MultiMC-b7d8e512f4184a755809fe9a964a04921f8abf7c.tar.gz MultiMC-b7d8e512f4184a755809fe9a964a04921f8abf7c.tar.lz MultiMC-b7d8e512f4184a755809fe9a964a04921f8abf7c.tar.xz MultiMC-b7d8e512f4184a755809fe9a964a04921f8abf7c.zip |
NOISSUE Use patch problems and problem levels instead of exceptions for minecraft profiles.
Diffstat (limited to 'logic/minecraft/onesix')
-rw-r--r-- | logic/minecraft/onesix/OneSixInstance.cpp | 20 | ||||
-rw-r--r-- | logic/minecraft/onesix/OneSixProfileStrategy.cpp | 2 | ||||
-rw-r--r-- | logic/minecraft/onesix/OneSixUpdate.cpp | 15 |
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. |