diff -r a12246c97fcc -r cb96c29156b2 mpxmusicplayer/app/src/mpxcontroller.cpp --- a/mpxmusicplayer/app/src/mpxcontroller.cpp Wed Jun 09 09:38:28 2010 +0300 +++ b/mpxmusicplayer/app/src/mpxcontroller.cpp Mon Jun 21 15:37:19 2010 +0300 @@ -151,6 +151,7 @@ delete iCurPath; delete iIdle; + iCurAtts.Close(); } @@ -378,14 +379,7 @@ // if( (iCurSystemEvent == KErrNotFound) && !iOutOfDisk ) { - // Fetch the extra data - RArray atts; - CleanupClosePushL( atts ); - atts.Append(KMPXMediaColDetailDBCreated); - atts.Append(KMPXMediaColDetailDBCorrupted); - - iCollectionUtility->Collection().MediaL(*iCurPath, atts.Array() ); - CleanupStack::PopAndDestroy( &atts ); + iCollectionUtility->Collection().MediaL(*iCurPath, iCurAtts.Array() ); } else { @@ -507,16 +501,14 @@ // Do a MediaL to re-retrieve details // - RArray atts; - CleanupClosePushL( atts ); + iCurAtts.Reset(); if(!aSkipAttribute) { - atts.Append(KMPXMediaColDetailDBCreated); - atts.Append(KMPXMediaColDetailDBCorrupted); + iCurAtts.Append(KMPXMediaColDetailDBCreated); + iCurAtts.Append(KMPXMediaColDetailDBCorrupted); } - iCollectionUtility->Collection().MediaL(*iCurPath, atts.Array() ); - CleanupStack::PopAndDestroy( &atts ); + iCollectionUtility->Collection().MediaL(*iCurPath, iCurAtts.Array() ); } } } @@ -549,7 +541,7 @@ iInitDBNeeded = EFalse; iInitDBCorrupted = EFalse; - DoRetrieveDetailsL(iOutOfDisk); + DoRetrieveDetailsL(data != KErrNone); } else if(event == TMPXCollectionMessage::EBroadcastEvent && op == EMcMsgRefreshStart)