diff -r 822e1f077722 -r 2cdd984ec527 realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp --- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Wed Jun 09 10:04:26 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Mon Jun 21 16:03:44 2010 +0300 @@ -126,7 +126,7 @@ // CSIPApnConfigurationHandler::ReadCurrentApnL // ----------------------------------------------------------------------------- // -HBufC8* CSIPApnConfigurationHandler::ReadCurrentApnL() +void CSIPApnConfigurationHandler::ReadCurrentApnL() { HBufC8* apn(NULL); @@ -193,15 +193,13 @@ delete iCurrentApn; iCurrentApn = NULL; - iCurrentApn = apn->AllocL(); + iCurrentApn = apn; } db->ClearAttributeMask( ECDHidden ); CleanupStack::PopAndDestroy( iapRecord ); CleanupStack::PopAndDestroy( db ); - - return apn; } // ----------------------------------------------------------------------------- @@ -327,6 +325,7 @@ User::LeaveIfError( iSocketSrv.Connect() ); iRepository = CRepository::NewL( KCRUidCmManager ); + ReadCurrentApnL(); PROFILE_DEBUG1( "CSIPApnConfigurationHandler::ConstructL() exit" ) } @@ -478,16 +477,12 @@ "CSIPApnConfigurationHandler::ApnChangeNeededL()" ) TBool apnChangeNeeded( EFalse ); - HBufC8* currentApn = ReadCurrentApnL(); - - if ( currentApn && currentApn->Compare( aApn ) != 0 ) + if ( iCurrentApn && iCurrentApn->Compare( aApn ) != 0 ) { // Apn is not the same as wanted apnChangeNeeded = ETrue; } - delete currentApn; - PROFILE_DEBUG3( "CSIPApnConfigurationHandler::ApnChangeNeededL(), apnChangeNeeded", apnChangeNeeded ) @@ -796,13 +791,12 @@ const TDesC8& aNewApn, TInt aError ) { - if ( !IsPrimaryApnUsed() ) + HBufC8* currentApn = aNewApn.AllocL(); + delete iCurrentApn; + iCurrentApn = NULL; + iCurrentApn = currentApn; + if ( IsPrimaryApnUsed() ) { - HBufC8* currentApn = aNewApn.AllocL(); - delete iCurrentApn; - iCurrentApn = NULL; - iCurrentApn = currentApn; - iObserver.ApnChanged( *iCurrentApn, iIapId, aError ); } }