diff -r 66f897dce0dc -r aa67149e0134 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp Mon Mar 15 12:40:54 2010 +0200 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp Wed Mar 31 21:36:41 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 37.1.8 % +* %version: 37.1.8.1.1 % */ // INCLUDE FILES @@ -411,6 +411,19 @@ } +// ----------------------------------------------------------------------------- +// CleanupImplArray +// ----------------------------------------------------------------------------- +// +static void CleanupResetAndDestroy( TAny* aAny ) +{ + RImplInfoPtrArray* implArray = + reinterpret_cast( aAny ); + + implArray->ResetAndDestroy(); + implArray->Close(); +} + // --------------------------------------------------------- // CEapPeapUiDialog::ConfigureL // --------------------------------------------------------- @@ -420,8 +433,11 @@ RImplInfoPtrArray eapArray; eapArray.Reset(); + CleanupStack::PushL( TCleanupItem( CleanupResetAndDestroy, &eapArray ) ); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray ); + TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); TInt eapIndex( 0 ); for ( TInt i = 0; i < eapArray.Count(); i++ ) @@ -438,7 +454,9 @@ CEapType* eapType; eapType = CEapType::NewL( eapArray[eapIndex]->DataType(), iIndexType, iIndex ); - eapArray.ResetAndDestroy(); + + CleanupStack::PopAndDestroy(); // eapArray + eapType->SetTunnelingType( KEapPeapId ); CleanupStack::PushL( eapType ); TInt buttonId = eapType->InvokeUiL();