mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-21 01:41:10 +00:00
Preserve parsed cvar values when string is same
Fixes parsed developer flags on the command line getting reset.
This commit is contained in:
parent
8c238d3def
commit
452eb5a83d
1 changed files with 13 additions and 11 deletions
|
@ -264,19 +264,21 @@ Cvar_Set (cvar_t *var, const char *value)
|
|||
}
|
||||
|
||||
changed = !strequal (var->string, value);
|
||||
free ((char*)var->string); // free the old value string
|
||||
if (changed) {
|
||||
free ((char*)var->string); // free the old value string
|
||||
|
||||
var->string = strdup (value);
|
||||
var->value = atof (var->string);
|
||||
var->int_val = atoi (var->string);
|
||||
VectorZero (var->vec);
|
||||
vals = sscanf (var->string, "%f %f %f",
|
||||
&var->vec[0], &var->vec[1], &var->vec[2]);
|
||||
if (vals == 1)
|
||||
var->vec[2] = var->vec[1] = var->vec[0];
|
||||
var->string = strdup (value);
|
||||
var->value = atof (var->string);
|
||||
var->int_val = atoi (var->string);
|
||||
VectorZero (var->vec);
|
||||
vals = sscanf (var->string, "%f %f %f",
|
||||
&var->vec[0], &var->vec[1], &var->vec[2]);
|
||||
if (vals == 1)
|
||||
var->vec[2] = var->vec[1] = var->vec[0];
|
||||
|
||||
if (changed && var->callback)
|
||||
var->callback (var);
|
||||
if (var->callback)
|
||||
var->callback (var);
|
||||
}
|
||||
}
|
||||
|
||||
VISIBLE void
|
||||
|
|
Loading…
Reference in a new issue