telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp
changeset 75 f45cd1ad4667
parent 42 3adadc800673
child 73 70d75957b98f
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Thu Sep 02 21:42:07 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Mon Oct 04 02:16:52 2010 +0300
@@ -343,26 +343,27 @@
         if ( trapError != KErrNone )
             {
             //error handling. Object cannot be created. 
+			//reset request handle to indicate the request is no longer ongoing
+            iTsyReqHandleStore->FindAndResetTsyReqHandle(aTsyReqHandle);
             ReqCompleted( aTsyReqHandle, trapError );
             }
         else if ( ret != KErrNone )
             {
             ReqCompleted( aTsyReqHandle, ret );
             }   
-        //save request handle
-        if ( EMultimodeCallReqHandleUnknown != iReqHandleType )
+        else if ( EMultimodeCallReqHandleUnknown != 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 = EMultimodeCallReqHandleUnknown;
             }
-    
+        // 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 = EMultimodeCallReqHandleUnknown;
         }
 
     return KErrNone;