diff -r a4d6f1ea0416 -r e7aa27f58ae1 ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp --- a/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Tue Jan 26 11:45:42 2010 +0200 +++ b/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Tue Feb 02 00:02:40 2010 +0200 @@ -23,6 +23,8 @@ #endif // _DEBUG*/ // +#include + #include "emailtrace.h" #include "IpsSosAOMboxLogic.h" #include "ipssetdataapi.h" @@ -753,13 +755,20 @@ { FUNC_LOG; TBool ret = ETrue; - LoadSettingsL(); - if ( ( iExtendedSettings->EmailNotificationState() == EMailEmnHomeOnly - || iExtendedSettings->AlwaysOnlineState() == EMailAoHomeOnly - || iExtendedSettings->RoamHomeOnlyFlag() ) && iIsRoaming ) + + RCmManager cmManager; + cmManager.OpenLC(); + TCmGenConnSettings OccSettings; + + //ask roaming settings from occ + cmManager.ReadGenConnSettingsL(OccSettings); + if(OccSettings.iSeamlessnessVisitor == ECmCellularDataUsageDisabled && iIsRoaming) { ret = EFalse; } + + CleanupStack::PopAndDestroy(&cmManager); // cmManager + return ret; } @@ -778,9 +787,7 @@ iExtendedSettings->SetFirstEmnReceived( ETrue ); //if alwaysonline was allowed to roam, so will EMN be. - iExtendedSettings->SetEmailNotificationState( - iExtendedSettings->AlwaysOnlineState() == - EMailAoAlways ? EMailEmnAutomatic : EMailEmnHomeOnly ); + iExtendedSettings->SetEmailNotificationState( EMailEmnAutomatic ); // set always online state off when emn is on