diff options
Diffstat (limited to 'common/configstore.cpp')
-rw-r--r-- | common/configstore.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/common/configstore.cpp b/common/configstore.cpp index ff5ba3d..1ae9da8 100644 --- a/common/configstore.cpp +++ b/common/configstore.cpp | |||
@@ -80,9 +80,13 @@ void ConfigStore::modify(const QByteArray &identifier, const QMap<QByteArray, QV | |||
80 | { | 80 | { |
81 | SinkTrace() << "Modifying " << identifier; | 81 | SinkTrace() << "Modifying " << identifier; |
82 | auto config = getConfig(identifier); | 82 | auto config = getConfig(identifier); |
83 | config->clear(); | ||
84 | for (const auto &key : configuration.keys()) { | 83 | for (const auto &key : configuration.keys()) { |
85 | config->setValue(key, configuration.value(key)); | 84 | auto value = configuration.value(key); |
85 | if (value.isValid()) { | ||
86 | config->setValue(key, configuration.value(key)); | ||
87 | } else { | ||
88 | config->remove(key); | ||
89 | } | ||
86 | } | 90 | } |
87 | config->sync(); | 91 | config->sync(); |
88 | } | 92 | } |