aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-04-20 12:07:18 +0400
committerKonstantin Ritt <ritt.ks@gmail.com>2015-04-23 01:48:02 +0000
commita6fa9189b0698091fd70674aeafb853d4405da5c (patch)
treea696bc566d2c735f70044ef095a8a0ab118f4d91 /src/imports
parentfb9a3d8dc60848b6ef16e74f721554040f32b249 (diff)
[labs.settings] Minor optimization
Prefer clear() over subsequent erase() and remove duplicated check. Change-Id: Ibc70c665972e2f972763e7a0088263815792a997 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/settings/qqmlsettings.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/imports/settings/qqmlsettings.cpp b/src/imports/settings/qqmlsettings.cpp
index e51d6bb148..954161b60b 100644
--- a/src/imports/settings/qqmlsettings.cpp
+++ b/src/imports/settings/qqmlsettings.cpp
@@ -315,14 +315,15 @@ void QQmlSettingsPrivate::load()
void QQmlSettingsPrivate::store()
{
- QHash<const char *, QVariant>::iterator it = changedProperties.begin();
- while (it != changedProperties.end()) {
+ QHash<const char *, QVariant>::const_iterator it = changedProperties.constBegin();
+ while (it != changedProperties.constEnd()) {
instance()->setValue(it.key(), it.value());
#ifdef SETTINGS_DEBUG
qDebug() << "QQmlSettings: store" << it.key() << ":" << it.value();
#endif
- it = changedProperties.erase(it);
+ ++it;
}
+ changedProperties.clear();
}
void QQmlSettingsPrivate::_q_propertyChanged()
@@ -394,12 +395,10 @@ void QQmlSettings::timerEvent(QTimerEvent *event)
{
Q_D(QQmlSettings);
if (event->timerId() == d->timerId) {
- if (d->changedProperties.isEmpty()) {
- killTimer(d->timerId);
- d->timerId = 0;
- } else {
- d->store();
- }
+ killTimer(d->timerId);
+ d->timerId = 0;
+
+ d->store();
}
QObject::timerEvent(event);
}