diff -r 3f752ecfeea4 -r beaa16f65879 mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp --- a/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Fri Jan 22 09:43:47 2010 +0200 +++ b/mpxplugins/viewplugins/views/collectionviewhg/src/mpxcollectionviewhgcontainer.cpp Tue Jan 26 11:56:33 2010 +0200 @@ -732,6 +732,14 @@ } else if ( aType == KEikDynamicLayoutVariantSwitch ) { + if ( iCurrentViewType == EMPXViewCoverFlow ) + { + if ( iDialog ) + { + iDialog->CancelPopup(); + iDialog = NULL; + } + } if( iCurrentViewType == EMPXViewTBone ) { iCollectionUtility->Collection().BackL(); @@ -1479,6 +1487,7 @@ if( iContext == EContextGroupAlbum || iContext == EContextGroupArtist || iContext == EContextGroupSong || + iContext == EContextItemPlaylist || iContext == EContextGroupGenre ) { iListWidget->EnableScrollBufferL(*this, KMPXListBufferSize, KMPXListBufferSize/4); @@ -4171,14 +4180,14 @@ CAknSinglePopupMenuStyleListBox* listBox = new ( ELeave ) CAknSinglePopupMenuStyleListBox; CleanupStack::PushL( listBox ); - CAknPopupList* dialog = CAknPopupList::NewL(listBox, R_MPX_COLLECTION_ALBUMSONGS_LIST_CBA, + iDialog = CAknPopupList::NewL(listBox, R_MPX_COLLECTION_ALBUMSONGS_LIST_CBA, AknPopupLayouts::EDynMenuWindow ); - CleanupStack::PushL( dialog ); - - listBox->ConstructL( dialog, + CleanupStack::PushL( iDialog ); + + listBox->ConstructL( iDialog, EAknListBoxSelectionList | EAknListBoxScrollBarSizeExcluded ); - CleanupStack::Pop( dialog ); + listBox->CreateScrollBarFrameL( ETrue ); listBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, @@ -4190,7 +4199,7 @@ const TDesC& album = iSelectedMediaInAlbumView->ValueText( KMPXMediaMusicAlbum ); if ( album.Compare( KNullDesC ) != 0 ) { - dialog->SetTitleL( album ); + iDialog->SetTitleL( album ); } } @@ -4227,10 +4236,11 @@ CTextListBoxModel* model = listBox->Model(); model->SetItemTextArray( songList ); model->SetOwnershipType( ELbmOwnsItemArray ); - TBool play = dialog->ExecuteLD(); - TInt index = listBox->CurrentItemIndex(); + TBool play = iDialog->ExecuteLD(); + CleanupStack::Pop( iDialog ); if( play ) { + TInt index = listBox->CurrentItemIndex(); // If item in list was opened, we only play the selected one. SaveSelectedAlbumItemL(iSelectedAlbumIndex); // Open the selected song of album