diff --git a/src/FactSystem/SettingsFact.cc b/src/FactSystem/SettingsFact.cc index 1d8f4f58f7db4a1fcb44dd8e025d44b6acecfa23..e6f79fffd66d3b2dd54ec8e2628c88b5af0dce2b 100644 --- a/src/FactSystem/SettingsFact.cc +++ b/src/FactSystem/SettingsFact.cc @@ -35,16 +35,18 @@ SettingsFact::SettingsFact(QString settingsGroup, FactMetaData* metaData, QObjec _visible = qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(settingsGroup, *metaData); setMetaData(metaData); - QVariant rawDefaultValue = metaData->rawDefaultValue(); - if (_visible) { - QVariant typedValue; - QString errorString; - metaData->convertAndValidateRaw(settings.value(_name, rawDefaultValue), true /* conertOnly */, typedValue, errorString); - _rawValue = typedValue; - } else { - // Setting is not visible, force to default value always - settings.setValue(_name, rawDefaultValue); - _rawValue = rawDefaultValue; + if (metaData->defaultValueAvailable()) { + QVariant rawDefaultValue = metaData->rawDefaultValue(); + if (_visible) { + QVariant typedValue; + QString errorString; + metaData->convertAndValidateRaw(settings.value(_name, rawDefaultValue), true /* conertOnly */, typedValue, errorString); + _rawValue = typedValue; + } else { + // Setting is not visible, force to default value always + settings.setValue(_name, rawDefaultValue); + _rawValue = rawDefaultValue; + } } connect(this, &Fact::rawValueChanged, this, &SettingsFact::_rawValueChanged);