summaryrefslogtreecommitdiffstats
path: root/logic/OneSixInstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/OneSixInstance.cpp')
-rw-r--r--logic/OneSixInstance.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp
index 3f1c5b0c..10411c56 100644
--- a/logic/OneSixInstance.cpp
+++ b/logic/OneSixInstance.cpp
@@ -325,8 +325,15 @@ bool OneSixInstance::reloadVersion(QWidget *widgetParent)
{
ret = d->vanillaVersion->reload(widgetParent, true, externalPatches());
}
-
- emit versionReloaded();
+ if (ret)
+ {
+ setFlags(flags() & ~VersionBrokenFlag);
+ emit versionReloaded();
+ }
+ else
+ {
+ setFlags(flags() | VersionBrokenFlag);
+ }
return ret;
}
@@ -362,8 +369,14 @@ QString OneSixInstance::defaultCustomBaseJar() const
bool OneSixInstance::menuActionEnabled(QString action_name) const
{
+ if (flags() & VersionBrokenFlag)
+ {
+ return false;
+ }
if (action_name == "actionChangeInstLWJGLVersion")
+ {
return false;
+ }
return true;
}
@@ -372,7 +385,11 @@ QString OneSixInstance::getStatusbarDescription()
QString descr = "OneSix : " + intendedVersionId();
if (versionIsCustom())
{
- descr + " (custom)";
+ descr += " (custom)";
+ }
+ if (flags() & VersionBrokenFlag)
+ {
+ descr += " (broken)";
}
return descr;
}