made env vars behave like the rest of the settings

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2023-10-26 22:51:38 +03:00
parent e9fd02baca
commit 12d567a9b8
6 changed files with 17 additions and 53 deletions

View File

@ -188,9 +188,8 @@ void MinecraftInstance::loadSpecificSettings()
auto legacySettings = m_settings->registerSetting("OverrideLegacySettings", false);
m_settings->registerOverride(global_settings->getSetting("OnlineFixes"), legacySettings);
m_settings->registerSetting("UseEnv", false);
m_settings->registerSetting("OverrideEnv", false);
m_settings->registerSetting("Env", QVariant(QMap<QString, QVariant>()));
auto envSetting = m_settings->registerSetting("OverrideEnv", false);
m_settings->registerOverride(global_settings->getSetting("Env"), envSetting);
m_settings->set("InstanceType", "OneSix");
}
@ -612,12 +611,11 @@ QProcessEnvironment MinecraftInstance::createLaunchEnvironment()
env.insert(iter.key(), iter.value().toString());
};
bool useEnv = settings()->get("UseEnv").toBool();
bool overrideEnv = useEnv && settings()->get("OverrideEnv").toBool();
bool overrideEnv = settings()->get("OverrideEnv").toBool();
if (!overrideEnv)
insertEnv(APPLICATION->settings()->get("Env").toMap());
if (useEnv)
else
insertEnv(settings()->get("Env").toMap());
return env;