voipplugins/sipconnectionprovider/src/scppresencehandler.cpp
branchRCL_3
changeset 20 65a3ef1d5bd0
parent 10 ed1e38b404e5
--- a/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp	Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp	Thu Aug 19 09:45:22 2010 +0300
@@ -244,6 +244,17 @@
     if ( iSubService.SipProfileId() == aProfileId &&
         iSubService.EnableRequestedState() != CScpSubService::EScpNoRequest )
         {
+        if ( EScpDeregistered == aEvent && 
+             iSubService.EnableRequestedState() == CScpSubService::EScpEnabled )
+            {
+            SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> unbind" );
+            TRAPD( err, HandleDeregistrationL( EFalse ) ); 
+            if ( KErrNotReady == err )
+                {
+                SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> not ready: unbind" );
+                TRAP_IGNORE( ServerUnBindL() );
+                }
+            }
         //if network lost, unbind context
         if ( EScpNetworkLost == aEvent )
             {