Skip to content
  • David Edmundson's avatar
    [kcms/nightcolour] Reset needsSave after loading initial QML properties · c8eeee48
    David Edmundson authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
    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
    c8eeee48