diff -r 2e08ef6b6eda -r 1f307dce3b5a src/screensaverctrlplugin.cpp --- a/src/screensaverctrlplugin.cpp Tue May 25 12:43:23 2010 +0300 +++ b/src/screensaverctrlplugin.cpp Wed Jun 09 09:42:47 2010 +0300 @@ -123,7 +123,15 @@ // is displaying. Other indicators' state changing also dismisses // screensaver. Once redisplaying, the indicators are updated anyway. // Key lock indicator depends on status of key guard. + TIndicatorPayload payload; + payload.iType = EPayloadTypeInteger; + Array().SetDependencyStatus( ESsKeyLockInd, !Model().SharedDataInterface()->IsKeyguardOn() ); + payload.iInteger = Model().SharedDataInterface()->UnreadMessagesNumber(); + Array().SetIndicatorPayload( ESsNewMessagesInd, payload ); + Array().SetDependencyStatus( ESsNewMessagesInd, ( payload.iInteger <= 0 ) ); + Array().SetDependencyStatus( ESsVoicemailInd, !Model().SharedDataInterface()->IsHaveNewVoicemail() ); + Array().SetVisibilityForIndicators(); SCRLOGGER_WRITEF( _L("SCR:CScreensaverCtrlPlugin::Refresh DrawObject") );