Revision: 201021 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:07:12 +0300
branchRCL_3
changeset 36 04408506c6e0
parent 26 0a9e01492035
child 45 4c83dcfb6f1a
Revision: 201021 Kit: 2010123
apengine/apsettingshandlerui/src/ApSelPopupList.cpp
bearermanagement/mpm/inc/mpmconnmonevents.h
bearermanagement/mpm/inc/mpmconnmonreqs.h
bearermanagement/mpm/src/mpmconnmonevents.cpp
bearermanagement/mpm/src/mpmconnmonreqs.cpp
bearermanagement/mpm/src/mpmiapselection.cpp
bearermanagement/mpm/src/mpmserver.cpp
bearermanagement/mpm/src/mpmserversession.cpp
cmmanager/cmmgr/Framework/Src/cmdlg.cpp
cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp
connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopupnotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopupnotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp
--- a/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -488,16 +488,14 @@
 
     iList->HandleItemAdditionL();
 
-    iList->View()->SetDisableRedraw( EFalse );
-    iList->HandleItemAdditionL();
-
     SetSelectedL();
     iPreferredUid = *iSelected;
     
     SetHighlighted();
 
+    iList->View()->SetDisableRedraw( EFalse );
+    
     SizeChanged();
-    DrawNow();
     
     CheckAndSetDataValidity();
     UpdateCbaL();
@@ -525,7 +523,8 @@
             i = count;
             }
         }
-    iList->SetCurrentItemIndexAndDraw( idx );
+    
+    iList->SetCurrentItemIndex( idx );
     SelectCurrentItemL();
     
     APSETUILOGGER_LEAVEFN( EListbox,"SelPopupList::SetSelectedL")
--- a/bearermanagement/mpm/inc/mpmconnmonevents.h	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmconnmonevents.h	Wed Jun 09 10:07:12 2010 +0300
@@ -96,8 +96,7 @@
         /**
         * Two-phased constructor.
         */
-        static CMPMConnMonEvents* NewL( CMPMServer& aServer, 
-                                        CMPMServerSession& aSession );
+        static CMPMConnMonEvents* NewL( CMPMServer& aServer );
 
         /**
         * Destructor.
@@ -243,7 +242,7 @@
         * @param aSession Pointer to session
         * @since 3.1
         */
-        void CancelScanL( CMPMServerSession& aSession );
+        void CancelScanL( CMPMServerSession* aSession );
 
         /**
         * Gets the presumed Iap Id of Connection Id.
@@ -319,7 +318,7 @@
         /**
         * 2nd phase constructor.
         */
-        void ConstructL( CMPMServerSession& aSession );
+        void ConstructL();
 
     private: // Data
         // Handle to connection monitor
--- a/bearermanagement/mpm/inc/mpmconnmonreqs.h	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmconnmonreqs.h	Wed Jun 09 10:07:12 2010 +0300
@@ -46,7 +46,7 @@
         static CMPMConnMonReqs* NewL( CMPMConnMonEvents& aParent,
                                       RConnectionMonitor& aConnMon,
                                       TUint aConnId,
-                                      CMPMServerSession& aSession );
+                                      CMPMServerSession* aSession );
 
         /**
         * Destructor.
@@ -132,7 +132,7 @@
         CMPMConnMonReqs( CMPMConnMonEvents&  aParent,
                          RConnectionMonitor& aConnMon,
                          TUint aConnId, 
-                         CMPMServerSession&  aSession );
+                         CMPMServerSession* aSession );
 
         /**
         * 2nd phase constructor.
@@ -170,9 +170,8 @@
         TConnMonIapInfoBuf iIapBuf;
 
         // MPM server session which requested the service
-        // After service completes callback function is called through 
-        // the reference.
-        CMPMServerSession& iSession;
+        // After service completes callback function is called
+        CMPMServerSession* iSession;
 
         // Used for first session start to wait until necessary data available
         CActiveSchedulerWait iActiveSchedulerWait;        
--- a/bearermanagement/mpm/src/mpmconnmonevents.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconnmonevents.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -35,12 +35,11 @@
 // CMPMConnMonEvents::NewL
 // -----------------------------------------------------------------------------
 //             
-CMPMConnMonEvents* CMPMConnMonEvents::NewL( CMPMServer& aServer, 
-                                            CMPMServerSession& aSession )
+CMPMConnMonEvents* CMPMConnMonEvents::NewL( CMPMServer& aServer )
     {
     CMPMConnMonEvents* self = new ( ELeave ) CMPMConnMonEvents( aServer );
     CleanupStack::PushL( self );
-    self->ConstructL( aSession );
+    self->ConstructL();
     CleanupStack::Pop( self );
     return self;
     }
@@ -74,7 +73,7 @@
 // CMPMConnMonEvents::ConstructL
 // -----------------------------------------------------------------------------
 // 
-void CMPMConnMonEvents::ConstructL( CMPMServerSession& aSession )
+void CMPMConnMonEvents::ConstructL()
     {
     MPMLOGSTRING( "CMPMConnMonEvents::ConstructL" )
     // Connect to Connection Monitor
@@ -93,7 +92,8 @@
     CMPMConnMonReqs* req = CMPMConnMonReqs::NewL( 
                                 *const_cast<CMPMConnMonEvents*>( this ),
                                 iConnMon,
-                                aSession.ConnectionId(), aSession );
+                                0,
+                                NULL );
     CleanupStack::PushL( req );
     iReqPtrs.AppendL( req ); 
     req->AvailableIapsSync();
@@ -573,7 +573,7 @@
                                 *const_cast<CMPMConnMonEvents*>( this ),
                                 iConnMon,
                                 aId, 
-                                *aSession );
+                                aSession );
     CleanupStack::PushL( req );
     iReqPtrs.AppendL( req ); 
     req->RefreshAvailableIAPs( aCallback, aForceRefreshIntervalSeconds );
@@ -585,7 +585,7 @@
 // CMPMConnMonEvents::CancelScanL
 // -----------------------------------------------------------------------------
 // 
-void CMPMConnMonEvents::CancelScanL( CMPMServerSession& aSession )
+void CMPMConnMonEvents::CancelScanL( CMPMServerSession* aSession )
     {
     MPMLOGSTRING( "CMPMConnMonEvents::CancelScanL" )
 
@@ -596,7 +596,7 @@
     CMPMConnMonReqs* req = CMPMConnMonReqs::NewL( 
                                 *const_cast<CMPMConnMonEvents*>( this ),
                                 iConnMon,
-                                aSession.ConnectionId(), 
+                                aSession->ConnectionId(), 
                                 aSession );
     // Delete ongoing req, if found
     TInt index = iReqPtrs.Find(req, CMPMConnMonReqs::CompareConnIds);
--- a/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -37,7 +37,7 @@
 CMPMConnMonReqs* CMPMConnMonReqs::NewL(CMPMConnMonEvents& aParent,
                                        RConnectionMonitor& aConnMon,
                                        TUint aConnId, 
-                                       CMPMServerSession& aSession )
+                                       CMPMServerSession* aSession )
     {
     CMPMConnMonReqs* self = new (ELeave) CMPMConnMonReqs(
                                 aParent, aConnMon, aConnId, aSession );
@@ -55,7 +55,7 @@
 CMPMConnMonReqs::CMPMConnMonReqs(CMPMConnMonEvents& aParent,
                                  RConnectionMonitor& aConnMon,
                                  TUint aConnId, 
-                                 CMPMServerSession& aSession )
+                                 CMPMServerSession* aSession )
     : CActive(CActive::EPriorityStandard), 
       iParent(aParent), 
       iConnMon(aConnMon), 
@@ -227,6 +227,7 @@
         case EScanWLANNetworksStateCached:
             {
             MPMLOGSTRING( "CMPMConnMonReqs::ErrorCallbackL: EScanWLANNetworksState failed" )
+            ASSERT( iSession );
 
             // Disable discarding availability notifications from Connection Monitor.
             // 
@@ -237,23 +238,23 @@
             // 
             if( iWlanScanCallback == EWlanScanCallbackChooseIap )
                 {
-                iSession.IapSelectionL()->ChooseIapWLANScanCompletedL( aStatus );
+                iSession->IapSelectionL()->ChooseIapWLANScanCompletedL( aStatus );
                 }
             else if( iWlanScanCallback == EWlanScanCallbackProcessErr )
                 {
-                iSession.ProcessErrorWlanScanCompletedL();
+                iSession->ProcessErrorWlanScanCompletedL();
                 }
             else if( iWlanScanCallback == EWlanScanCallbackCarrierRejected )
                 {
                 // No fresh IAP info available but try to select new IAP
                 // based on whatever existing info there is
                 // 
-                iSession.CompleteCarrierRejected();
+                iSession->CompleteCarrierRejected();
                 }
             else if( iWlanScanCallback == EWlanScanCallbackSortSnap )
                 {
                 // SortSnap was called with old availability information.
-                iSession.CompleteServerSortSNAP();
+                iSession->CompleteServerSortSNAP();
                 }
             else
                 {
@@ -326,6 +327,8 @@
             case EScanWLANNetworksStateCached:
                 {
                 MPMLOGSTRING( "CMPMConnMonReqs::RunL: EScanWLANNetworksState and EScanWLANNetworksStateCached" )
+                ASSERT( iSession );
+
                 if ( iNextState == EScanWLANNetworksState )
                     {
                     MPMLOGSTRING( "CMPMConnMonReqs::RunL: EScanWLANNetworksState fresh data available from ConnMon" )
@@ -349,19 +352,19 @@
                 // 
                 if( iWlanScanCallback == EWlanScanCallbackChooseIap )
                     {
-                    iSession.IapSelectionL()->ChooseIapWLANScanCompletedL( iStatus.Int() );
+                    iSession->IapSelectionL()->ChooseIapWLANScanCompletedL( iStatus.Int() );
                     }
                 else if( iWlanScanCallback == EWlanScanCallbackProcessErr )
                     {
-                    iSession.ProcessErrorWlanScanCompletedL();
+                    iSession->ProcessErrorWlanScanCompletedL();
                     }
                 else if( iWlanScanCallback == EWlanScanCallbackCarrierRejected )
                     {
-                    iSession.CompleteCarrierRejected();
+                    iSession->CompleteCarrierRejected();
                     }
                 else if( iWlanScanCallback == EWlanScanCallbackSortSnap )
                     {
-                    iSession.CompleteServerSortSNAP();
+                    iSession->CompleteServerSortSNAP();
                     }
                 else
                     {
@@ -398,9 +401,7 @@
 
 TInt CMPMConnMonReqs::RunError( TInt aError )
     {
-    MPMLOGSTRING2(
-        "CMPMConnMonReqs::RunError: RunL made a leave with error = %i", 
-        aError )
+    MPMLOGSTRING2( "CMPMConnMonReqs::RunError: RunL made a leave with error = %i", aError )
 
     // Disable discarding availability notifications from Connection Monitor.
     // 
@@ -410,12 +411,14 @@
     // 
     if( iWlanScanCallback == EWlanScanCallbackChooseIap )
         {
-        iSession.ChooseIapComplete( aError, NULL );
+        ASSERT( iSession );
+        iSession->ChooseIapComplete( aError, NULL );
         }
     else if( iWlanScanCallback == EWlanScanCallbackProcessErr )
         {
         TBMNeededAction neededAction( EPropagateError );
-        iSession.ProcessErrorComplete( KErrNone, &aError, &neededAction );
+        ASSERT( iSession );
+        iSession->ProcessErrorComplete( KErrNone, &aError, &neededAction );
         }
     else
         {
--- a/bearermanagement/mpm/src/mpmiapselection.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -493,10 +493,10 @@
     // Check if any suitable IAP's were found, if not then complete selection with error code
     if ( validateIapId == 0 )
         {
-        if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeDefault ||
+        if ( !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeDefault ||
                 ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeExplicit &&
-                !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
-                iCommsDatAccess->IsInternetSnapL( 0, snap ) ) )
+                  iCommsDatAccess->IsInternetSnapL( 0, snap ) ) ) )
             {
             ImplicitConnectionL();
             }
@@ -740,21 +740,18 @@
         TBool connectionAlreadyActive =
             iSession->MyServer().CheckIfStarted( aPolicyPref->IapId(), 
                                                  iSession->ConnectionId() );
-        CConnectionUiUtilities* connUiUtils = NULL;
         if ( !connectionAlreadyActive &&
-        	   ( iSession->IsMMSIap( aPolicyPref->IapId() ) == EFalse ) )
-        	{
-        	TRAPD( popupError,
-          	     connUiUtils = CConnectionUiUtilities::NewL();
-            	   connUiUtils->ConnectingViaDiscreetPopup(
-              	     aPolicyPref->IapId());
-               	delete connUiUtils; );
-        	if ( popupError && connUiUtils )
-          	  {
-            	delete connUiUtils;
-            	}
-        	}
-       }
+                ( iSession->IsMMSIap( aPolicyPref->IapId() ) == EFalse ) )
+            {
+            CConnectionUiUtilities* connUiUtils;
+            TRAPD( popupError, connUiUtils = CConnectionUiUtilities::NewL() );
+            if ( popupError == KErrNone )
+        	    {
+            	connUiUtils->ConnectingViaDiscreetPopup( aPolicyPref->IapId() );
+               	delete connUiUtils;
+        	    }
+            }
+        }
     
     if( iWlanDialog )
         {
--- a/bearermanagement/mpm/src/mpmserver.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -962,6 +962,11 @@
     TInt index = iSessions.Find( aSession );
     if ( index != KErrNotFound )
         {
+        if ( Events() )
+            {
+            // Cancel WLAN scan request if one exists
+            TRAP_IGNORE( Events()->CancelScanL( iSessions[index] ) )
+            }
         iSessions.Remove( index );
         }
     }
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -90,8 +90,8 @@
     MPMLOGSTRING( "CMPMServerSession::ConstructL" )
     if ( !iMyServer.Events() )
         {
-        iMyServer.SetEvents(CMPMConnMonEvents::NewL(
-            *const_cast<CMPMServer*>( &iMyServer ), *this ));
+        iMyServer.SetEvents( CMPMConnMonEvents::NewL(
+            *const_cast<CMPMServer*>( &iMyServer ) ) );
         }
 
     // Append session pointer to server
@@ -507,7 +507,7 @@
             
             // Cancel WLAN scan request if one exists
             //
-            TRAP_IGNORE( iMyServer.Events()->CancelScanL( *this ) )
+            TRAP_IGNORE( iMyServer.Events()->CancelScanL( this ) )
             
             if ( iIapSelection )
                 {
@@ -529,7 +529,7 @@
 
             // Cancel WLAN scan request if one exists
             //
-            TRAP_IGNORE( iMyServer.Events()->CancelScanL( *this ) )
+            TRAP_IGNORE( iMyServer.Events()->CancelScanL( this ) )
 
             if ( iDisconnectDlg )
                 {
@@ -556,7 +556,7 @@
                 // TODO Change CancelScanL to non-leaving.
                 // Otherwise, nothing clever can be done here.
                 // And OOM may risk MPM stability.
-                TRAP_IGNORE( iMyServer.Events()->CancelScanL( *this ))
+                TRAP_IGNORE( iMyServer.Events()->CancelScanL( this ) )
                 iServerSortSNAPMessage.Complete( KErrCancel );
                 }
             break;
@@ -3321,10 +3321,12 @@
     {
     MPMLOGSTRING2( "CMPMServerSession::ChooseIapComplete aError = %d", aError )
 
-    // Show error popup if it's allowed per client request
+    // Show error popup if it's allowed per client request.
+	// No error popup shown to SNAP.
     if ( ChooseBestIapCalled() && (!( iIapSelection->MpmConnPref().NoteBehaviour() &
             TExtendedConnPref::ENoteBehaviourConnDisableNotes ))
-            && ( aError != KErrNone ) )
+            && ( aError != KErrNone ) 
+            && ( iIapSelection->MpmConnPref().SnapId() == 0 ) )
         {
         CConnectionUiUtilities* connUiUtils = NULL;
         TRAPD( error, connUiUtils = CConnectionUiUtilities::NewL() );
--- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -1060,7 +1060,7 @@
         {
         return;
         }
-
+    
     if ( cm->GetBoolAttributeL( ECmProtected ) ||
         ( iCmDestinationImpl && 
          iCmDestinationImpl->ProtectionLevel() == CMManager::EProtLevel1 ) )
@@ -1111,7 +1111,11 @@
         CleanupStack::PopAndDestroy( &destArray );
         return;
         }
-    
+
+    // create a copy of the current connection method
+    CCmPluginBase* cmCopy = cm->CreateCopyL();
+    CleanupStack::PushL( cmCopy );
+
     // ok, there is at least 1, pop up the dialog
     CSelectDestinationDlg* dlg = CSelectDestinationDlg::NewL( destId, 
                                                               *iCmManager, 
@@ -1123,14 +1127,9 @@
         CleanupStack::PushL( dest ); 
         if ( iCmDestinationImpl )
             {
-            // create a copy of the current connection method
-            CCmPluginBase* cmCopy = cm->CreateCopyL();
-            CleanupStack::PushL( cmCopy );
             // store it in commsdat
             cmCopy->UpdateL();
             dest->AddConnectionMethodL( *cmCopy );
-            
-            CleanupStack::PopAndDestroy( cmCopy );
             }
         else
             {
@@ -1147,7 +1146,7 @@
         CleanupStack::PopAndDestroy( dest );
         HandleListboxDataChangeL();                             
         }
-
+    CleanupStack::PopAndDestroy( cmCopy );
     CleanupStack::PopAndDestroy( &destArray );
     }
 
--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -1811,7 +1811,6 @@
     LOGGER_ENTERFN( "CCmPluginWlan::ManuallyConfigureL" );
     
     TBool proceed ( EFalse );
-    TBool askNWModeAndSec ( EFalse );
     
     // Step 1 - WLAN Network Name query (SSID)
     // sets: ECmName, EWlanSSID
@@ -1820,74 +1819,17 @@
     CleanupClosePushL( nwName );
 
     proceed = ShowNWNameQueryL( nwName );
-    
-    TWlanConnectionExtentedSecurityMode securityMode =
-                                        EWlanConnectionExtentedSecurityModeOpen;
-            
-    TWpaMode wpaMode = EWpaModeUndefined;
 
     if ( proceed )
         {
         TWlanNetMode nwMode( EInfra );
 
-        // Step 2 - SSID scan ( first broadcast, then direct )
-        // sets: EWlanConnectionMode
-        //       EWlanScanSSID
-        //       EWlanSecurityMode
-
-        TWlanSsid ssid;
-        ssid.Copy( nwName );       
+        TWlanConnectionExtentedSecurityMode securityMode =
+                                        EWlanConnectionExtentedSecurityModeOpen;
         
-        TBool protectedSetupSupported = EFalse;
-        if ( ScanForWlanNwL( ssid, nwMode, securityMode, protectedSetupSupported ) )
-            {
-            if ( protectedSetupSupported )
-                {
-                TBool wifiret = ProtectedSetupL( ssid );
-                switch ( wifiret )
-                    {
-                    case WiFiProt::EWiFiCancel: //cancel pressed, cancel process
-                        {
-                        CleanupStack::PopAndDestroy( &nwName ); //cleanup and return 
-                        return EFalse;
-                        //break;
-                        }
-                    case WiFiProt::EWiFiOK:
-                        {
-                        CleanupStack::PopAndDestroy( &nwName );//cleanup and return 
-                        //UpdateSecuritySettingsL();
-                        return ETrue;
-                        //break;
-                        }
-                    case WiFiProt::EWifiNoAuto://proceed with normal setup
-                        {
-                        break;
-                        }  
-                    default:
-                        {
-                        User::Leave( KErrNotSupported );
-                        break;
-                        }                                              
-                    }    
-                }
-
-            if ( securityMode == EWlanConnectionExtentedSecurityModeWpaPsk
-                 || securityMode == EWlanConnectionExtentedSecurityModeWpa2Psk )
-                {
-                wpaMode = EWpaModePreSharedKey;
-                }
-            else if ( securityMode == EWlanConnectionExtentedSecurityModeWpa
-                      || securityMode == EWlanConnectionExtentedSecurityMode802d1x
-                      || securityMode == EWlanConnectionExtentedSecurityModeWpa2 )
-                {
-                wpaMode = EWpaModeEap;
-                }
-            }
-        else
-            {
-            askNWModeAndSec = ETrue;
-            }
-        proceed = ProceedWithManualL ( askNWModeAndSec, nwMode, securityMode, wpaMode  );
+        TWpaMode wpaMode = EWpaModeUndefined;
+        
+        proceed = ProceedWithManualL ( ETrue, nwMode, securityMode, wpaMode  );
         }
     CleanupStack::PopAndDestroy( &nwName );
 
--- a/connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -642,40 +642,15 @@
                 }
             }
 
-        if ( iInfoBuf().iError == KErrNone ||
-             iInfoBuf().iError == KErrGprsInsufficientResources            || // -4154
-             iInfoBuf().iError == KErrPacketDataTsyMaxPdpContextsReached   || // -6000
-             iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByNetwork || // -4179
-             iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByPhone )    // -4178
-            {            	
-            // New request, DisconnectDlg might be shown for the error codes above.
-            Receive();
-            }
-        else
+        // New request
+        Receive();
+            
+        if ( iInfoBuf().iError == KErrDisconnected )
             {
-            LOGIT1("CProgressNotifier::RunL() - connection closing - iInfoBuf().iError: %d", iInfoBuf().iError)
-            // Connection is closing.
-            CSubConnUpDownNotifier* subConnUpDownNotifier = 0;
-            TInt err = iServer->Iap()->GetSubConnUpDownNotifier(
-                    iConnectionId,
-                    &subConnUpDownNotifier );
-
-            if ( KErrNone == err )
-                {
-                // Subconn down notifier has stopped and allinterface closed event has arrived
-                if ( !subConnUpDownNotifier->IsActive() )
-                    {
-                    subConnUpDownNotifier->SendDeletedEvent();
-                    }
-                }
-
-            if ( iInfoBuf().iError == KErrDisconnected )
-                {
-                // Enable WLAN scan when IAP availability is check for the
-                // next time because current bearer has been lost (-36).
-                // MPM needs a fresh list of available iaps.
-                iServer->Iap()->EnableWlanScan();
-                }
+            // Enable WLAN scan when IAP availability is check for the
+            // next time because current bearer has been lost (-36).
+            // MPM needs a fresh list of available iaps.
+            iServer->Iap()->EnableWlanScan();
             }
         }
     //LOGEXITFN("CProgressNotifier::RunL()")
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopupnotif.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopupnotif.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -16,6 +16,8 @@
  */
 
 // INCLUDE FILES
+#include <e32property.h>
+#include <ScreensaverInternalPSKeys.h>
 #include "connectingviadiscreetpopupnotif.h"
 #include "connectingviadiscreetpopup.h"
 #include "ConnUiUtilsNotif.h"
@@ -44,10 +46,15 @@
 //
 void CConnectingViaDiscreetPopupNotif::StartL(const TDesC8& aBuffer,
         TInt aReplySlot, const RMessagePtr2& aMessage)
-    {
-    if ( iActiveNote )
+    {    
+    TInt screenSaverOn( 0 );
+    RProperty::Get( KPSUidScreenSaver, 
+                    KScreenSaverOn, 
+                    screenSaverOn );
+
+    if ( iActiveNote || screenSaverOn > 0 )
         {
-        // Note is already active
+        // Note is already active or Screensaver is on.
         aMessage.Complete( KErrNone );
         return;
         }
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopupnotif.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopupnotif.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -16,6 +16,8 @@
  */
 
 // INCLUDE FILES
+#include <e32property.h>
+#include <ScreensaverInternalPSKeys.h>
 #include "connectionerrordiscreetpopupnotif.h"
 #include "connectionerrordiscreetpopup.h"
 #include "ConnUiUtilsNotif.h"
@@ -46,9 +48,14 @@
 void CConnectionErrorDiscreetPopupNotif::StartL( const TDesC8& aBuffer,
         TInt aReplySlot, const RMessagePtr2& aMessage )
     {
-    if ( iActiveNote )
+    TInt screenSaverOn( 0 );
+    RProperty::Get( KPSUidScreenSaver, 
+                    KScreenSaverOn, 
+                    screenSaverOn );
+
+    if ( iActiveNote || screenSaverOn > 0 )
         {
-        // Note is already active
+        // Note is already active or Screensaver is on.
         aMessage.Complete( KErrNone );
         return;
         }
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp	Tue May 25 13:08:02 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlannetworksavailablenotif.cpp	Wed Jun 09 10:07:12 2010 +0300
@@ -16,6 +16,8 @@
 */
 
 // INCLUDE FILES
+#include <e32property.h>
+#include <ScreensaverInternalPSKeys.h>
 #include "ConnectionDialogsUidDefs.h"
 #include "nowlannetworksavailablenotif.h"
 #include "nowlansdiscreetpopup.h"
@@ -48,9 +50,14 @@
                                             TInt aReplySlot,
                                             const RMessagePtr2& aMessage )
     {
-    if ( iActiveNote )
+    TInt screenSaverOn( 0 );
+    RProperty::Get( KPSUidScreenSaver, 
+                    KScreenSaverOn, 
+                    screenSaverOn );
+
+    if ( iActiveNote || screenSaverOn > 0 )
         {
-        // Note is already active
+        // Note is already active or Screensaver is on.
         aMessage.Complete( KErrNone );
         return;
         }