diff options
Diffstat (limited to 'src/imports/settings')
-rw-r--r-- | src/imports/settings/qqmlsettings.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/imports/settings/qqmlsettings.cpp b/src/imports/settings/qqmlsettings.cpp index ffd24983e7..011a39f20c 100644 --- a/src/imports/settings/qqmlsettings.cpp +++ b/src/imports/settings/qqmlsettings.cpp @@ -297,9 +297,8 @@ void QQmlSettingsPrivate::load() const QVariant previousValue = property.read(q); const QVariant currentValue = instance()->value(property.name(), previousValue); - if (!currentValue.isNull() - && currentValue.canConvert(previousValue.type()) - && previousValue != currentValue) { + if (!currentValue.isNull() && (!previousValue.isValid() + || (currentValue.canConvert(previousValue.type()) && previousValue != currentValue))) { property.write(q, currentValue); #ifdef SETTINGS_DEBUG qDebug() << "QQmlSettings: load" << property.name() << "setting:" << currentValue << "default:" << previousValue; |