diff -r 755430a7d64b -r 5886d40bb3de callcontinuity/vcc/src/tvccstatefailing.cpp --- a/callcontinuity/vcc/src/tvccstatefailing.cpp Tue Sep 14 21:02:05 2010 +0300 +++ b/callcontinuity/vcc/src/tvccstatefailing.cpp Wed Sep 15 12:01:56 2010 +0300 @@ -136,16 +136,6 @@ 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); - } - } } // ----------------------------------------------------------------------------- @@ -164,8 +154,8 @@ RUBY_DEBUG1("call state is: %d", aState); // Remote party has disconnected the call during the handover - if( aState == MCCPCallObserver::ECCPStateDisconnecting && - aCall == aContext.SecondaryCall() ) + if((aState == MCCPCallObserver::ECCPStateDisconnecting || + aState == MCCPCallObserver::ECCPStateIdle) && aCall == aContext.SecondaryCall() ) { ReleaseCall(aContext, *aContext.SecondaryCall(), *iInit, KVccHoNok ); }