diff -r 4af712113915 -r a9c709db68db bearermanagement/mpm/src/mpmserversession.cpp --- a/bearermanagement/mpm/src/mpmserversession.cpp Wed Aug 18 10:10:23 2010 +0300 +++ b/bearermanagement/mpm/src/mpmserversession.cpp Thu Sep 02 20:50:05 2010 +0300 @@ -913,7 +913,10 @@ //Display confirm dialog only if we are moving to cellular IAP if ( MyServer().CommsDatAccess()->CheckWlanL( iMigrateIap ) == ENotWlanIap ) { - if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) ) + // Check that connection preferences don't deny queries, and + // enough time has elapsed from the last query cancelled by the user. + if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) && + !MyServer().IsConnPermQueryTimerOn() ) { if ( MyServer().RoamingWatcher()->RoamingStatus() == EMPMInternationalRoaming ) { @@ -1015,6 +1018,10 @@ { if( aResponse == EMsgQueryCancelled ) { + // User cancelled the connection permission query, + // don't try again until the timer expires. + MyServer().StartConnPermQueryTimer(); + if( !aReconnect ) { // Send a preferred IAP notification