telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp
branchRCL_3
changeset 74 9200f38b1324
parent 66 07a122eea281
child 82 042fd2753b8f
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Tue Sep 14 23:33:57 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Wed Sep 15 13:30:43 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -337,26 +337,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;