diff --git a/core/CoreConfig.cpp b/core/CoreConfig.cpp index 2c5326ce..766edbf0 100644 --- a/core/CoreConfig.cpp +++ b/core/CoreConfig.cpp @@ -277,7 +277,7 @@ SMCResult CoreConfig::ReadSMC_KeyValue(const SMCStates *states, const char *key, ConfigResult CoreConfig::SetConfigOption(const char *option, const char *value, ConfigSource source, char *error, size_t maxlength) { - ConfigResult result; + ConfigResult result = ConfigResult_Ignore; /* Notify! */ SMGlobalClass *pBase = SMGlobalClass::head; @@ -285,7 +285,7 @@ ConfigResult CoreConfig::SetConfigOption(const char *option, const char *value, { if ((result = pBase->OnSourceModConfigChanged(option, value, source, error, maxlength)) != ConfigResult_Ignore) { - return result; + break; } pBase = pBase->m_pGlobalClassNext; } @@ -293,7 +293,7 @@ ConfigResult CoreConfig::SetConfigOption(const char *option, const char *value, ke::AString vstr(value); m_KeyValues.replace(option, ke::Move(vstr)); - return ConfigResult_Ignore; + return result; } const char *CoreConfig::GetCoreConfigValue(const char *key) diff --git a/core/HalfLife2.cpp b/core/HalfLife2.cpp index c4060f48..0a071c4e 100644 --- a/core/HalfLife2.cpp +++ b/core/HalfLife2.cpp @@ -171,13 +171,16 @@ ConfigResult CHalfLife2::OnSourceModConfigChanged(const char *key, const char *v if (strcasecmp(value, "no") == 0) { m_bFollowCSGOServerGuidelines = false; + return ConfigResult_Accept; } else if (strcasecmp(value, "yes") == 0) { m_bFollowCSGOServerGuidelines = true; + return ConfigResult_Accept; } else { + ke::SafeSprintf(error, maxlength, "Invalid value: must be \"yes\" or \"no\""); return ConfigResult_Reject; } #endif