diff -r 62f9d29f7211 -r 272b002df977 webservices/wsconnection/src/senserviceconnectionimpl.cpp --- a/webservices/wsconnection/src/senserviceconnectionimpl.cpp Thu Jan 07 16:19:19 2010 +0200 +++ b/webservices/wsconnection/src/senserviceconnectionimpl.cpp Mon Jan 18 21:21:14 2010 +0200 @@ -2037,8 +2037,10 @@ } TInt cancelLeaveCode(KErrNone); - CSenAsyncOperation* pSenAO = CSenAsyncOperation::NewL(this); - TRAP(cancelLeaveCode, iConnection.CancelSession(pSenAO->iStatus)); + TRAP(cancelLeaveCode, + CSenAsyncOperation* pSenAO = CSenAsyncOperation::NewL(this); + iConnection.CancelSession(pSenAO->iStatus); + ); #ifdef _SENDEBUG if(cancelLeaveCode!=KErrNone) { @@ -2402,8 +2404,10 @@ } TInt cancelLeaveCode(KErrNone); TInt retVal(KErrNone); - CSenAsyncOperation* pSenAO = CSenAsyncOperation::NewL(this); - TRAP( cancelLeaveCode, iConnection.CancelSession(pSenAO->iStatus); ) + TRAP( cancelLeaveCode, + CSenAsyncOperation* pSenAO = CSenAsyncOperation::NewL(this); + iConnection.CancelSession(pSenAO->iStatus); + ); if(cancelLeaveCode!=KErrNone) { @@ -2477,6 +2481,7 @@ TInt CSenServiceConnectionImpl::CancelTransaction(TInt aTransactionID) { + TInt retVal(0); if ( iDispatcherEnabled ) // DISPATCHER IS ENABLED { TInt actualTransID = ipSenServiceDispatcher->GetActualTransactionID(&aTransactionID); @@ -2503,7 +2508,11 @@ pAsyncOp = NULL; } ipSenServiceDispatcher->RemoveFromQueue(aTransactionID); - DeliverResponseL(KErrSenCancelled,NULL); + TRAP(retVal, DeliverResponseL(KErrSenCancelled,NULL)); + if( retVal != KErrNone) + { + return retVal; + } } } else // DISPATCHER IS DISABLED