diff -r bb2423252ea3 -r c1029e558ef5 networkcontrol/ipnetworklayer/src/IPProtoTierManagerSelector.cpp --- a/networkcontrol/ipnetworklayer/src/IPProtoTierManagerSelector.cpp Wed Sep 15 13:53:10 2010 +0300 +++ b/networkcontrol/ipnetworklayer/src/IPProtoTierManagerSelector.cpp Wed Oct 13 16:17:27 2010 +0300 @@ -106,26 +106,21 @@ if (!(iSelectionPrefs.Scope()&TSelectionPrefs::ESelectFromExisting)) { CIPProtoMetaConnectionProvider *ipprotomcpr = static_cast(provider); - + if (ipprotomcpr->iIapLocked) + User::Leave(KErrPermissionDenied); TSecureId sid; ASubSessionPlatsecApiExt platsecext(iSelectionPrefs.SubSessionUniqueId()); if (platsecext.SecureId(sid) == KErrNone) { - if (ipprotomcpr->iIapLocked && sid.iId!=ipprotomcpr->iLockedIapsid) - User::Leave(KErrPermissionDenied); + CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind); - CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind); - - TUint32 iapsid; - iapView->GetIntL(KCDTIdIAPAppSid, iapsid); - - if (sid.iId == iapsid && iapsid != 0) - { - ipprotomcpr->iIapLocked = ETrue; - ipprotomcpr->iLockedIapsid=iapsid; - } - CleanupStack::PopAndDestroy(iapView); + TUint32 iapsid; + iapView->GetIntL(KCDTIdIAPAppSid, iapsid); + + if (sid.iId == iapsid && iapsid != 0) + ipprotomcpr->iIapLocked = ETrue; + CleanupStack::PopAndDestroy(iapView); } } provider->IncrementBlockingDestroy();