callcontinuity/vcc/src/tvccstatefailing.cpp
branchRCL_3
changeset 33 2989b291cac7
parent 31 5886d40bb3de
--- a/callcontinuity/vcc/src/tvccstatefailing.cpp	Wed Sep 15 12:01:56 2010 +0300
+++ b/callcontinuity/vcc/src/tvccstatefailing.cpp	Wed Oct 13 14:20:32 2010 +0300
@@ -136,6 +136,16 @@
            RUBY_DEBUG0( "Secondary call not exist - setting state to init");
            aContext.SetState(*iInit);
            }
+       
+ else  if ( aCall == aContext.SecondaryCall() )
+           {
+           if( aState == MCCPCallObserver::ECCPStateDisconnecting || 
+                   aState == MCCPCallObserver::ECCPStateIdle )
+               {
+               RUBY_DEBUG0( "Secondary call is disconnecting or idle - setting state to init");
+               aContext.SetState(*iInit);
+               }
+           }
      }
 
 // -----------------------------------------------------------------------------
@@ -154,8 +164,8 @@
 
     RUBY_DEBUG1("call state is: %d", aState);
     // Remote party has disconnected the call during the handover
-    if((aState == MCCPCallObserver::ECCPStateDisconnecting ||
-        aState == MCCPCallObserver::ECCPStateIdle) && aCall == aContext.SecondaryCall() )
+    if( aState == MCCPCallObserver::ECCPStateDisconnecting &&
+        aCall == aContext.SecondaryCall() )
         {
         ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok );
         }