diff -r ac20d6a0a19d -r b982c3e940f3 telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp --- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp Mon Aug 09 17:43:08 2010 +0100 +++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp Tue Sep 14 17:55:14 2010 +0100 @@ -197,7 +197,9 @@ if ( trapError != KErrNone ) { //error handling. Object cannot be created. - ReqCompleted( 0, trapError ); + //reset request handle to indicate the request is no longer ongoing + iTsyReqHandleStore->FindAndResetTsyReqHandle(aTsyReqHandle); + ReqCompleted( aTsyReqHandle, trapError ); } //if return value is not KErrNone else if ( ret != KErrNone ) @@ -205,20 +207,20 @@ //Complete request with this error value ReqCompleted( aTsyReqHandle, ret ); } - - //save request handle - if ( EMultimodeConferenceCallReqHandleUnknown != iReqHandleType ) + else if ( EMultimodeConferenceCallReqHandleUnknown != iReqHandleType ) { + //save request handle #ifdef REQHANDLE_TIMER SetTypeOfResponse ( iReqHandleType, aTsyReqHandle ); #else iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle ); #endif - // We've finished with this value now. Clear it so it doesn't leak - // up to any other instances of this method down the call stack - iReqHandleType = EMultimodeConferenceCallReqHandleUnknown; } - + + // We've finished with this value now. Clear it so it doesn't leak + // up to any other instances of this method down the call stack + iReqHandleType = EMultimodeConferenceCallReqHandleUnknown; + return KErrNone; }