diff -r c54d95799c80 -r a1247965635c mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp --- a/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Wed Apr 14 15:54:18 2010 +0300 +++ b/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Tue Apr 27 16:34:37 2010 +0300 @@ -472,7 +472,7 @@ } } - if( iMuted && aValue > 0 ) // unmute + if( !iMuted && aValue > 0 ) // unmute { iMuted = EFalse; iCurrentVol = aValue; @@ -1107,15 +1107,18 @@ case ERemConCoreApiVolumeDown: { iTimer->Cancel(); - - MMPXPlaybackUtility* pbUtil = MMPXPlaybackUtility::UtilityL( KPbModeActivePlayer ); - CleanupClosePushL(*pbUtil); - + MMPXPlaybackUtility* pbUtil( NULL ); + MPX_TRAPD( err, pbUtil = MMPXPlaybackUtility::UtilityL( KPbModeActivePlayer )); + if( err != KErrNone ) + { + MPX_DEBUG2( "CMPXMediaKeyHandlerImp::MrccatoCommand ERemConCoreApiVolumeDown leave err%d", err ); + break; + } TMPXPlaybackState playerState( EPbStateNotInitialised ); - playerState = pbUtil->StateL(); - - CleanupStack::PopAndDestroy(pbUtil); - + TRAP_IGNORE( playerState = pbUtil->StateL()); + pbUtil->Close(); + pbUtil = NULL; + if( playerState == EPbStatePlaying || IsAppForeground() ) { iIncreaseVol = (aOperationId == ERemConCoreApiVolumeUp ? ETrue: EFalse);