summaryrefslogtreecommitdiffstats
path: root/logic/OneSixInstance.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-03-09 23:42:25 +0100
committerPetr Mrázek <peterix@gmail.com>2014-03-09 23:42:25 +0100
commitb2c803a378695026f12aabc3729eb2139bee1b2c (patch)
tree0629e45a270f15941bf0013ccc458d23c74b77d2 /logic/OneSixInstance.cpp
parentffff2cd3248a574d3d666731580ac7b8c33e1735 (diff)
downloadMultiMC-b2c803a378695026f12aabc3729eb2139bee1b2c.tar
MultiMC-b2c803a378695026f12aabc3729eb2139bee1b2c.tar.gz
MultiMC-b2c803a378695026f12aabc3729eb2139bee1b2c.tar.lz
MultiMC-b2c803a378695026f12aabc3729eb2139bee1b2c.tar.xz
MultiMC-b2c803a378695026f12aabc3729eb2139bee1b2c.zip
Improve reporting of version file errors.x
Diffstat (limited to 'logic/OneSixInstance.cpp')
-rw-r--r--logic/OneSixInstance.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp
index f6fe49f1..3c1f6545 100644
--- a/logic/OneSixInstance.cpp
+++ b/logic/OneSixInstance.cpp
@@ -41,9 +41,17 @@ OneSixInstance::OneSixInstance(const QString &rootDir, SettingsObject *settings,
void OneSixInstance::init()
{
+ // FIXME: why is this decided here? what does this even mean?
if (QDir(instanceRoot()).exists("version.json"))
{
- reloadVersion();
+ try
+ {
+ reloadVersion();
+ }
+ catch(MMCError & e)
+ {
+ // QLOG_ERROR() << "Caught exception on instance init: " << e.cause();
+ }
}
else
{
@@ -317,7 +325,7 @@ QString OneSixInstance::currentVersionId() const
return intendedVersionId();
}
-bool OneSixInstance::reloadVersion()
+void OneSixInstance::reloadVersion()
{
I_D(OneSixInstance);
@@ -327,16 +335,15 @@ bool OneSixInstance::reloadVersion()
d->vanillaVersion->reload(true, externalPatches());
setFlags(flags() & ~VersionBrokenFlag);
emit versionReloaded();
- return true;
}
- catch(MMCError error)
+ catch(MMCError & error)
{
d->version->clear();
d->vanillaVersion->clear();
setFlags(flags() | VersionBrokenFlag);
//TODO: rethrow to show some error message(s)?
emit versionReloaded();
- return false;
+ throw;
}
}