diff --git a/light/light.cc b/light/light.cc index 4ca40160..76ee6e21 100644 --- a/light/light.cc +++ b/light/light.cc @@ -1622,8 +1622,13 @@ main(int argc, const char **argv) } if (lockable_vec_t *vecsetting = dynamic_cast(setting)) { - float v = ParseVec(&i, argc, argv); - vecsetting->setFloatValueLocked(v); + float v; + if (ParseVecOptional(&v, &i, argc, argv)) { + vecsetting->setFloatValueLocked(v); + } else { + // FIXME: only do this for boolean settings. + vecsetting->setFloatValueLocked(true); + } } else if (lockable_vec3_t *vec3setting = dynamic_cast(setting)) { vec3_t temp; ParseVec3(temp, &i, argc, argv);