diff -r 6c1dfe4da5dd -r 63223d4fd956 mmappcomponents/collectionhelper/src/mpxcollectionhelperimp.cpp --- a/mmappcomponents/collectionhelper/src/mpxcollectionhelperimp.cpp Tue Aug 31 15:41:40 2010 +0300 +++ b/mmappcomponents/collectionhelper/src/mpxcollectionhelperimp.cpp Wed Sep 01 12:23:05 2010 +0100 @@ -549,19 +549,25 @@ CMPXMedia* foundMedia(NULL); - if ( ary && ary->Count() ) + switch ( ary && ary->Count() ) //lint !e961 { - foundMedia = CMPXMedia::NewL(*ary->AtL(0)); - CleanupStack::PushL(foundMedia); - foundMedia->SetTObjectValueL( KMPXMediaGeneralCollectionId, TUid::Uid(col) ); - CleanupStack::Pop(foundMedia); + case 0: + User::Leave(KErrNotFound); + case 1: + { + foundMedia = CMPXMedia::NewL(*ary->AtL(0)); + CleanupStack::PushL(foundMedia); + foundMedia->SetTObjectValueL( + KMPXMediaGeneralCollectionId, TUid::Uid(col) ); + CleanupStack::Pop(foundMedia); + break; + } + default: + User::Leave(KErrCorrupt); } - else - { - User::Leave(KErrNotFound); - } - + CleanupStack::PopAndDestroy(result); + return foundMedia; }