email/alwaysonlineemailplugin/src/AlwaysOnlineEmailAgentBase.cpp
branchRCL_3
changeset 42 1367103c24e2
parent 0 72b543305e3a
--- a/email/alwaysonlineemailplugin/src/AlwaysOnlineEmailAgentBase.cpp	Wed Jun 09 09:37:26 2010 +0300
+++ b/email/alwaysonlineemailplugin/src/AlwaysOnlineEmailAgentBase.cpp	Mon Jun 21 15:36:19 2010 +0300
@@ -897,20 +897,33 @@
     CleanupStack::PopAndDestroy( accounts ); // accounts
 
     // Check ap preferences
-    TImIAPChoice iapChoice = apPrefs->IAPPreference( KMailSettingsIapPreferenceNumber );
-    TInt iapId = iapChoice.iIAP;
+    TInt iapId;
+    if ( apPrefs->NumberOfIAPs()>0 )
+        {
+        TImIAPChoice iapChoice = apPrefs->IAPPreference( KMailSettingsIapPreferenceNumber );
+        iapId = iapChoice.iIAP;
+        }
+    else if( apPrefs->SNAPDefined() )
+        {
+        iapId = apPrefs->SNAPPreference();
+        }
+    else
+        {
+        iapId = 0;
+        }
+    
 
     // if iapId is 0, assume default connection
     // else the iapId points to the actual iap
     if( iapId == 0 )
-    	{
-    	// Default Connection is in use
+        {
+        // Default Connection is in use
         TCmDefConnValue defConSetting;
         iCmManager.ReadDefConnL( defConSetting );
         if( defConSetting.iType == ECmDefConnAlwaysAsk ||
-        	defConSetting.iType == ECmDefConnAskOnce )
-        	{
-        	// always ask not supported in always online plugin
+            defConSetting.iType == ECmDefConnAskOnce )
+            {
+            // always ask not supported in always online plugin
         	User::Leave( KErrNotSupported );
         	}
         else