diff -r 4f2584af5a29 -r 04aa446da81c fmradio/fmradio/src/fmradiochannellistcontainer.cpp --- a/fmradio/fmradio/src/fmradiochannellistcontainer.cpp Wed Jun 09 09:42:10 2010 +0300 +++ b/fmradio/fmradio/src/fmradiochannellistcontainer.cpp Mon Jun 21 15:40:50 2010 +0300 @@ -88,7 +88,6 @@ // Instantiate a listbox for the channel list iChannelList = new ( ELeave ) CAknDoubleNumberStyleListBox(); - iControls.Append( iChannelList ); iChannelList->SetContainerWindowL( *this ); iChannelList->SetListBoxObserver( this ); iChannelList->ConstructL( this, CEikListBox::ELoopScrolling | EAknListBoxSelectionList ); // Looped list @@ -125,8 +124,7 @@ // CFMRadioChannelListContainer::~CFMRadioChannelListContainer() { - iControls.ResetAndDestroy(); - iControls.Close(); + delete iChannelList; iBitMaps.ResetAndDestroy(); iBitMaps.Close(); delete iChannelItemArray; @@ -560,7 +558,7 @@ // TInt CFMRadioChannelListContainer::CountComponentControls() const { - return iControls.Count(); + return 1; } // --------------------------------------------------------- @@ -570,7 +568,22 @@ // CCoeControl* CFMRadioChannelListContainer::ComponentControl( TInt aIndex ) const { - return STATIC_CAST( CCoeControl *,iControls[aIndex] ); + CCoeControl* control = NULL; + + switch ( aIndex ) + { + case 0: + { + control = iChannelList; + break; + } + default: + { + break; + } + } + + return control; } // --------------------------------------------------------- @@ -582,6 +595,12 @@ TEventCode aType ) { TKeyResponse response = EKeyWasNotConsumed; + + if ( iFadeStatus ) + { + // don't handle any keys if the view is faded + return response; + } switch ( aKeyEvent.iCode ) {