diff -r 95ac6b0f7f5b -r f73067c3e563 fmradio/fmradio/src/fmradioappui.cpp --- a/fmradio/fmradio/src/fmradioappui.cpp Wed Mar 31 21:31:32 2010 +0300 +++ b/fmradio/fmradio/src/fmradioappui.cpp Wed Apr 14 15:57:41 2010 +0300 @@ -1493,8 +1493,12 @@ { case EEventFocusLost: { - // being sent to background, so if tuning cancel first then handle event - CancelSeek(); + // being sent to background, cancel any seek expect local stations scan + if ( iCurrentRadioState == EFMRadioStateBusySeek ) + { + iRadioEngine->CancelScan(); + HandleStopSeekCallback(); + } CAknViewAppUi::HandleWsEventL( aEvent, aDestination ); break; } @@ -1646,6 +1650,20 @@ ( aControl == iActiveVolumePopupControl ) ) { TInt volumeControlLevel = iActiveVolumePopupControl->Value(); + + if ( iRadioEngine->IsMuteOn() && volumeControlLevel == 1 ) + { + // Volume has been muted and volume is changed from + // popup. Restore volume to the previous level. + volumeControlLevel = iRadioEngine->GetVolume(); + volumeControlLevel++; + if ( volumeControlLevel > KFMRadioMaxVolumeLevel ) + { + volumeControlLevel = KFMRadioMaxVolumeLevel; + } + iActiveVolumePopupControl->SetValue( volumeControlLevel ); + } + // Set mute if ( volumeControlLevel == KFMRadioMinVolumeLevel ) {