diff -r 22c3c67e5001 -r c45d4fe2ff0a bearermanagement/mpm/src/mpmiapselection.cpp --- a/bearermanagement/mpm/src/mpmiapselection.cpp Tue Apr 27 17:03:25 2010 +0300 +++ b/bearermanagement/mpm/src/mpmiapselection.cpp Tue May 11 16:35:05 2010 +0300 @@ -122,6 +122,11 @@ snap ) iChooseIapPref.SetSnapId( snap ); iChooseIapPref.SetIapId( 0 ); + if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeImplicit ) + { + // No Connection selection dialog on reselection. + iChooseIapPref.SetConnType( TMpmConnPref::EConnTypeExplicit ); + } } else if ( iap ) { @@ -129,6 +134,11 @@ iap ) iChooseIapPref.SetIapId( iap ); iChooseIapPref.SetSnapId( 0 ); + if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeImplicit ) + { + // No Connection selection dialog on reselection. + iChooseIapPref.SetConnType( TMpmConnPref::EConnTypeExplicit ); + } } MPMLOGSTRING3( "CMPMIapSelection::ChooseIapL: IapID: %i SnapId: %i", @@ -343,7 +353,8 @@ // KErrGprsOfflineMode should be returned instead of KErrNone. // - if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() ) + if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) { ChooseIapComplete( KErrGprsOfflineMode, &iChooseIapPref ); } @@ -514,7 +525,8 @@ { ChooseIapComplete( KErrGprsServicesNotAllowed, NULL ); } - else if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() ) + else if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) { // In case offline mode is enabled, only LAN or WLAN is allowed. // If some other bearer has been requested, then error code @@ -968,7 +980,8 @@ iapTypeLanOrWlan, *iSession ); - if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() ) + if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) { MPMLOGSTRING2( "CMPMIapSelection::CompleteImplicitConnectionL: Completing with code = %i", KErrGprsOfflineMode )