diff -r 14754bf06654 -r cf1b3ddbe9a1 bearermanagement/mpm/src/mpmdatausagewatcher.cpp --- a/bearermanagement/mpm/src/mpmdatausagewatcher.cpp Wed Sep 15 12:38:40 2010 +0300 +++ b/bearermanagement/mpm/src/mpmdatausagewatcher.cpp Wed Oct 13 14:59:48 2010 +0300 @@ -118,24 +118,15 @@ // Get the new Cellular data usage setting value from central repository. TInt oldCellularDataUsage = iCellularDataUsage; - if ( GetCurrentDataUsageValue() == KErrNone // Updates iCellularDataUsage - && oldCellularDataUsage != iCellularDataUsage - && iServer->RoamingWatcher()->RoamingStatus() != EMPMRoamingStatusUnknown ) + if ( GetCurrentDataUsageValue() == KErrNone ) { - // Setting changed while cellular is in use - - if ( iCellularDataUsage == ECmCellularDataUsageDisabled ) + // Stop cellular connections if the setting changes into Disabled. + if ( oldCellularDataUsage != ECmCellularDataUsageDisabled && + iCellularDataUsage == ECmCellularDataUsageDisabled && + iServer->RoamingWatcher()->RoamingStatus() != EMPMRoamingStatusUnknown ) { - // Cellular data usage disabled -> disconnect cellular iServer->StopCellularConns(); } - else if ( iCellularDataUsage == ECmCellularDataUsageConfirm ) - { - // Cellular data usage needs to be confirmed -> disconnect if - // there are only silent cellular connections left. - iServer->StopCellularConns( ETrue ); - } - } }