voipplugins/sipconnectionprovider/src/scpservicestorage.cpp
branchRCL_3
changeset 18 876a3df1f464
parent 0 a4daefaec16c
--- a/voipplugins/sipconnectionprovider/src/scpservicestorage.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpservicestorage.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -158,14 +158,15 @@
                     CScpSubService* subService = 
                         service->GetSubService( subServiceIds[ j ] );
                     
-                    // Don't remove if there is at least one enabled or disconnectin
+                    // Don't remove if there is at least one enabled or disconnecting
                     // sub service
-                    if( subService->EnableRequestedState() == CScpSubService::EScpEnabled ||
-                        subService->State() == ECCHDisconnecting )
+                    if( subService && (
+                            subService->EnableRequestedState() == CScpSubService::EScpEnabled ||
+                            subService->State() == ECCHDisconnecting ) )
                         {
                         remove = EFalse;
                         }
-                    else
+                    else if ( subService )
                         {
                         service->RemoveSubService( subService->Id() );
                         }
@@ -472,8 +473,8 @@
             {
             CScpSubService* subService = service->GetSubService( subServiceIds[ j ] );
             
-            //if( subService->IsEnabled() )
-            if( subService->EnableRequestedState() == CScpSubService::EScpEnabled )
+            if( subService &&
+                    subService->EnableRequestedState() == CScpSubService::EScpEnabled )
                 {
                 enabledSubServices++;
                 }