--- a/mpxmusicplayer/app/src/mpxappui.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxmusicplayer/app/src/mpxappui.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -2640,20 +2640,22 @@
{
CMPXCollectionPlaylist* pl = s->PlaylistL();
TInt browsePathCount = cPath->Count();
-
- if (pl &&
- browsePathCount > 0) // don't set index since this playlist
- // no longer contains any items, this can
- // happen in the case of autoplaylists and cause
- // a hang
+
+ if( pl )
{
CleanupStack::PushL( pl );
- TInt playlistIndex = pl->Path().Index();
- if(playlistIndex < browsePathCount)
+ if( browsePathCount > 0 ) // don't set index since this playlist
+ // no longer contains any items, this can
+ // happen in the case of autoplaylists and cause
+ // a hang
{
- iCollectionUtility->Collection().CommandL(EMcCmdSelect,
- playlistIndex);
- }
+ TInt playlistIndex = pl->Path().Index();
+ if(playlistIndex < browsePathCount)
+ {
+ iCollectionUtility->Collection().CommandL(EMcCmdSelect,
+ playlistIndex);
+ }
+ }
CleanupStack::PopAndDestroy( pl );
}
}
@@ -2760,18 +2762,20 @@
//
// Make sure we are the same level and the same container before making index call
//
- if (pl &&
- browsePathCount > 0 &&
- levels == pl->Path().Levels() &&
- cPath->Id(levels-2) == pl->Path().Id(levels-2) )
- {
+ if( pl )
+ {
CleanupStack::PushL( pl );
- TInt playlistIndex = pl->Path().Index();
-
- if(playlistIndex < browsePathCount)
+ if ( browsePathCount > 0 &&
+ levels == pl->Path().Levels() &&
+ cPath->Id(levels-2) == pl->Path().Id(levels-2) )
{
- iCollectionUtility->Collection().CommandL(EMcCmdSelect,
- playlistIndex);
+ TInt playlistIndex = pl->Path().Index();
+
+ if(playlistIndex < browsePathCount)
+ {
+ iCollectionUtility->Collection().CommandL(EMcCmdSelect,
+ playlistIndex);
+ }
}
CleanupStack::PopAndDestroy( pl );
}
@@ -3660,11 +3664,7 @@
needToExit = ETrue;
}
- if( aCommand == EAknCmdExit )
- {
- // Options/Exit selected, close also the MM suite
- LaunchMmViewL( KMmMessage );
- }
+
if( needToExit )
{
Exit();
--- a/mpxmusicplayer/app/src/mpxcontroller.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxmusicplayer/app/src/mpxcontroller.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -682,6 +682,12 @@
}
case EMcMsgUSBMassStorageStart:
{
+ //Sometimes, this message will be received more than 1 time with usb plugin once.
+ //Just handle the first one. And only this message has such abnormal behaviour.
+ if ( iCurSystemEvent == EMcMsgUSBMassStorageStart )
+ {
+ break;
+ }
MPX_DEBUG1("CMPXController::DoHandleBroadcastMsg - EMcMsgUSBMassStorageStart");
// Close playback framework and start wait note
--- a/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -576,7 +576,7 @@
TMediaAttributeIter& aAttributeIter )
{
MPX_FUNC( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata" );
- const TInt KMaxMediaAttrLen = 50; // Replace with suitable value
+ const TInt KMaxMediaAttrLen = 300; // >110 is required for AVRCP fragmentation
TBuf8<KMaxMediaAttrLen> attrBuf;
TMediaAttributeId attrId;
aAttributeIter.Start();
@@ -650,9 +650,15 @@
}
if( detail )
{
- if( CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail ) )
+ const TInt returnValue = CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail );
+ if ( returnValue == CnvUtfConverter::EErrorIllFormedInput)
{
- attrBuf.Zero(); // Check if this generates the right response
+ MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Illformed string, sending zero length response" );
+ attrBuf.Zero();
+ }
+ else if ( returnValue > 0 )
+ {
+ MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Could not convert whole string, sending converted fragment" );
}
}
if( val )
--- a/mpxplugins/viewplugins/views/addtracksdialog/src/mpxaddtracksdialog.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/addtracksdialog/src/mpxaddtracksdialog.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -126,6 +126,7 @@
}
if ( iCollectionUiHelper )
{
+ iCollectionUiHelper->Cancel();
iCollectionUiHelper->Close();
}
if ( iOrigIcon )
@@ -1104,7 +1105,12 @@
iAnimIconIndex = 0;
iPeriodic->Cancel();
iListModel->SetAnimationIconNum( iSelectIndex, 0 );
- HighlightListItem( iSelectIndex );
+ TInt bottomIdx = iListBox->BottomItemIndex();
+ TInt topIdx = iListBox->TopItemIndex();
+ if ( topIdx <= iSelectIndex && iSelectIndex <= bottomIdx )
+ {
+ HighlightListItem( iSelectIndex );
+ }
// restore origional navi pane text
iNaviPane->Pop( iNaviLabelPane );
iNaviPane->PushDefaultL();
--- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -1415,7 +1415,7 @@
{
iListWidget->ResizeL( aCount );
ProvideDataWithoutThumbnailsL(aMediaArray);
- iListWidget->SetSelectedIndex( CurrentLbxItemIndex() );
+ iListWidget->SetSelectedIndex( index );
}
else
{
@@ -1426,13 +1426,12 @@
{
// In case of mediawall components we switch to different view type if orientation changes
// so there is no need to set new client rect for mediawall.
-
+ TInt index = iMediaWall->SelectedIndex();
iMediaWall->Reset();
if ( aCount )
{
iMediaWall->ResizeL( aCount );
ProvideDataWithoutThumbnailsMwL(aMediaArray);
- TInt index = CurrentLbxItemIndex();
index = index >= 0 ? index : 0;
iMediaWall->SetSelectedIndex( index );
OpenAlbumL( index );
@@ -1470,6 +1469,7 @@
iListWidget->ClearFlags( CHgScroller::EHgScrollerKeyMarkingDisabled );
iListWidget->SetFocus(ETrue);
iListWidget->SetScrollBarTypeL( CHgScroller::EHgScrollerLetterStripLite );
+ iListWidget->DrawableWindow()->SetOrdinalPosition( -1 );
ProvideDataWithoutThumbnailsL(aMediaArray);
}
else
@@ -1987,6 +1987,7 @@
if( iContext == EContextGroupAlbum )
{
iAlbumIndex = aIndex;
+ iSelectedAlbumIndex = aIndex;
SaveSelectedAlbumItemL(aIndex);
}
@@ -3598,7 +3599,7 @@
else
{
//no albumart supported
- SetDefaultIconL(aIndex);
+ iThumbnailReqMap[aIndex] = ETrue;
RefreshL(aIndex);
}
}
--- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgimp.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -6515,6 +6515,7 @@
aMenuPane->SetItemDimmed( EMPXCmdSend, ETrue );
aMenuPane->SetItemDimmed( EMPXCmdDelete, ETrue );
aMenuPane->SetItemDimmed( EMPXCmdRemove, ETrue );
+ aMenuPane->SetItemDimmed( EMPXCmdPlayItem, ETrue );
}
break;
}
--- a/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/commonplaybackview/src/mpxcommonplaybackviewimp.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -3375,8 +3375,8 @@
playlist = source->PlaylistL();
if ( playlist )
{
- iPlaybackUtility->CommandL(EPbCmdPreserveState);
CleanupStack::PushL( playlist );
+ iPlaybackUtility->CommandL(EPbCmdPreserveState);
}
}
@@ -3867,6 +3867,7 @@
CMPXCollectionPlaylist* playlist = s->PlaylistL();
if ( playlist )
{
+ CleanupStack::PushL( playlist );
if ( playlist->Count() > 0 )
{
TMPXPlaybackState state = iPlaybackUtility->StateL();
@@ -3880,7 +3881,7 @@
iCommonUiHelper->SetMiddleSoftKeyLabelL( *cba, R_QTN_MSK_PLAY, EAknSoftkeyForwardKeyEvent);
}
}
- delete playlist;
+ CleanupStack::PopAndDestroy( playlist );
}
}
MPX_DEBUG1("CMPXCommonPlaybackViewImp::UpdateMiddleSoftKeyDisplayL - new label displayed");
@@ -3916,6 +3917,7 @@
CMPXCollectionPlaylist* playlist = s->PlaylistL();
if ( playlist )
{
+ CleanupStack::PushL( playlist );
if ( playlist->Count() > 0 )
{
if( pausePlayControl )
@@ -3940,7 +3942,7 @@
}
}
- delete playlist;
+ CleanupStack::PopAndDestroy( playlist );
}
else
{
--- a/mpxplugins/viewplugins/views/podcastplaybackview/src/mpxpodcastplaybackviewimp.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/podcastplaybackview/src/mpxpodcastplaybackviewimp.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -523,6 +523,7 @@
CMPXCollectionPlaylist* playlist = s->PlaylistL();
if ( playlist )
{
+ CleanupStack::PushL( playlist );
if ( playlist->Count() > 0 && pausePlayControl )
{
TMPXPlaybackState state = iPlaybackUtility->StateL();
@@ -535,8 +536,8 @@
pausePlayControl->SetCurrentState(1, ETrue);
}
}
+ CleanupStack::PopAndDestroy( playlist );
}
- delete playlist;
}
}
}
--- a/mpxplugins/viewplugins/views/upnpplaybackdialog/src/mpxupnpplaybackdialog.cpp Tue Jan 26 11:56:33 2010 +0200
+++ b/mpxplugins/viewplugins/views/upnpplaybackdialog/src/mpxupnpplaybackdialog.cpp Tue Feb 02 00:09:33 2010 +0200
@@ -2478,6 +2478,7 @@
CMPXCollectionPlaylist* playlist = s->PlaylistL();
if ( playlist )
{
+ CleanupStack::PushL( playlist );
if ( playlist->Count() > 0 )
{
if( pausePlayControl )
@@ -2493,8 +2494,7 @@
}
}
}
-
- delete playlist;
+ CleanupStack::PopAndDestroy( playlist );
}
else
{