[ConfigPropertyMap] Don't emit valueChanged on initial creation
ClosedPublic

Authored by broulik on Dec 13 2017, 1:31 PM.

Details

Summary

We initially populate the QQmlPropertyMap with all keys in settings after which the properties are created for the first time. There's no need to emit value changed then.

Test Plan

Plasma starts normal, applet configs are loaded and persisted. Changing applet settings still has the applet react on them immediately.
I didn't actually find a case where KCoreConfigSkeleton::configChanged would be called as in writeConfigValue we block signals and we don't monitor outside config changes. Probably still needs more testing.

Saves 60ms plasmashell startup

Diff Detail

Repository
R296 KDeclarative
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
broulik created this revision.Dec 13 2017, 1:31 PM
Restricted Application added projects: Plasma, Frameworks. · View Herald TranscriptDec 13 2017, 1:31 PM
Restricted Application added subscribers: Frameworks, plasma-devel. · View Herald Transcript
broulik requested review of this revision.Dec 13 2017, 1:31 PM
broulik edited the test plan for this revision. (Show Details)Dec 13 2017, 1:44 PM
hein accepted this revision.Jan 11 2018, 10:25 AM
This revision is now accepted and ready to land.Jan 11 2018, 10:25 AM
This revision was automatically updated to reflect the committed changes.

@broulik Seems to miss some include with Qt 5.7? build fails now on CI in the patched code: https://build.kde.org/job/Frameworks%20kdeclarative%20kf5-qt5%20SUSEQt5.7/15/