diff -r b3594157d381 -r 1c806ee746e7 src/screensaverengine.cpp --- a/src/screensaverengine.cpp Mon Mar 15 12:40:37 2010 +0200 +++ b/src/screensaverengine.cpp Wed Mar 31 21:32:18 2010 +0300 @@ -261,12 +261,11 @@ if ( iSharedDataI->DisplayObjectType() == EDisplayPlugin ) { View()->SetDisplayObject( EDisplayPlugin ); + SetExpiryTimerTimeout( KDefaultScreenSaverTimeout ); } UpdateIndicatorAttributes(); - SetExpiryTimerTimeout( KDefaultScreenSaverTimeout ); - View()->ShowDisplayObject(); iSharedDataI->SetScreensaverStatus( ETrue ); @@ -829,8 +828,10 @@ if ( control ) { control->KillTimer( control->iExpiryTimer ); - control->StopScreenSaver(); - control->iSharedDataI->SetSSForcedLightsOn( 0 ); + // Revert to default screensaver. + control->View()->SetDisplayObject( + control->SharedDataInterface()->DefaultScreensaverType() ); + control->View()->ShowDisplayObject(); } return KErrNone;