Skip to content

[kcms/nightcolour] Reset needsSave after loading initial QML properties

David Edmundson requested to merge work/davidedmundson/nightshiftload into Plasma/5.19

Sequence of events is:

  1. KCModule::showEvent()

  2. this queues up a load and queues up a KCModule::changed(false)

  3. during load ConfigModule::setNeedsSave(true) is called we set d->_needsSave to true

  4. we emit ConfigModule::changed(true) which we proxy through to KCModule::changed(true)

  5. we then process the queued KCModule::setChanged(false) from the earlier KCModule::showEvent

  6. so we disable the button

  7. any subsequent changes in the KCM will call ConfigModule::setNeedsSave(true) but this now matches d->_needsSave so it no-ops. Even though KCModule is out of sync.

Systemsettings only knows what KCModule signals, not ConfigModule.

This patch resets ConfigModule::d->_needsSave after step 3

See also https://phabricator.kde.org/D27384#611241

BUG: 411584

Merge request reports