diff -r 6134b5029079 -r 876a3df1f464 voipplugins/sipconnectionprovider/src/scpservicestorage.cpp --- 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++; }