mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
- fixed: CVar.ResetToDefault was missing a check for use outside of menus.
This commit is contained in:
parent
cfa11046ab
commit
bb4007f16a
1 changed files with 12 additions and 3 deletions
|
@ -225,7 +225,7 @@ DEFINE_ACTION_FUNCTION(_CVar, SetInt)
|
||||||
// Only menus are allowed to change non-mod CVARs.
|
// Only menus are allowed to change non-mod CVARs.
|
||||||
if (DMenu::InMenu == 0)
|
if (DMenu::InMenu == 0)
|
||||||
{
|
{
|
||||||
I_FatalError("Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
ThrowAbortException(X_OTHER, "Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PARAM_INT(val);
|
PARAM_INT(val);
|
||||||
|
@ -243,7 +243,7 @@ DEFINE_ACTION_FUNCTION(_CVar, SetFloat)
|
||||||
// Only menus are allowed to change non-mod CVARs.
|
// Only menus are allowed to change non-mod CVARs.
|
||||||
if (DMenu::InMenu == 0)
|
if (DMenu::InMenu == 0)
|
||||||
{
|
{
|
||||||
I_FatalError("Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
ThrowAbortException(X_OTHER, "Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PARAM_FLOAT(val);
|
PARAM_FLOAT(val);
|
||||||
|
@ -262,7 +262,7 @@ DEFINE_ACTION_FUNCTION(_CVar, SetString)
|
||||||
// Only menus are allowed to change non-mod CVARs.
|
// Only menus are allowed to change non-mod CVARs.
|
||||||
if (DMenu::InMenu == 0)
|
if (DMenu::InMenu == 0)
|
||||||
{
|
{
|
||||||
I_FatalError("Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
ThrowAbortException(X_OTHER, "Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PARAM_STRING(val);
|
PARAM_STRING(val);
|
||||||
|
@ -1161,6 +1161,15 @@ void FBaseCVar::ResetToDefault ()
|
||||||
DEFINE_ACTION_FUNCTION(_CVar, ResetToDefault)
|
DEFINE_ACTION_FUNCTION(_CVar, ResetToDefault)
|
||||||
{
|
{
|
||||||
PARAM_SELF_STRUCT_PROLOGUE(FBaseCVar);
|
PARAM_SELF_STRUCT_PROLOGUE(FBaseCVar);
|
||||||
|
if (!(self->GetFlags() & CVAR_MOD))
|
||||||
|
{
|
||||||
|
// Only menus are allowed to change non-mod CVARs.
|
||||||
|
if (DMenu::InMenu == 0)
|
||||||
|
{
|
||||||
|
ThrowAbortException(X_OTHER, "Attempt to change CVAR '%s' outside of menu code", self->GetName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self->ResetToDefault();
|
self->ResetToDefault();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue