From c437ef71439cd2848d24c1f23d70fd3ff2a32d1b Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 27 Sep 2019 12:09:57 +0200 Subject: [PATCH] Always initialize device settings params --- libnymea-core/devices/devicemanagerimplementation.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libnymea-core/devices/devicemanagerimplementation.cpp b/libnymea-core/devices/devicemanagerimplementation.cpp index 60ccba01..85c9dd5d 100644 --- a/libnymea-core/devices/devicemanagerimplementation.cpp +++ b/libnymea-core/devices/devicemanagerimplementation.cpp @@ -1148,6 +1148,13 @@ void DeviceManagerImplementation::loadConfiguredDevices() } } DeviceUtils::verifyParams(deviceClass.settingsTypes(), deviceSettings); + // Make sure all settings are around. if they aren't initialize with default values + foreach (const ParamType &settingsType, deviceClass.settingsTypes()) { + if (!deviceSettings.hasParam(settingsType.id())) { + deviceSettings.append(Param(settingsType.id(), settingsType.defaultValue().isValid() ? settingsType.defaultValue() : "")); + } + } + device->setSettings(deviceSettings); settings.endGroup(); // Settings