telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp
changeset 69 b982c3e940f3
parent 44 8b72faa1200f
child 73 70d75957b98f
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Mon Aug 09 17:43:08 2010 +0100
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Tue Sep 14 17:55:14 2010 +0100
@@ -505,27 +505,27 @@
     TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); );
 
     if ( KErrNone != trapError )
-        {
+        {        
+		// Reset request handle to indicate the request is no longer ongoing
+        iTsyReqHandleStore->FindAndResetTsyReqHandle( aTsyReqHandle );
         ReqCompleted( aTsyReqHandle, trapError );
         }
     else if ( KErrNone != ret )
         {
         ReqCompleted( aTsyReqHandle, ret );
         }
-
-    // Save request handle
-    if ( EMultimodePhoneBookStoreReqHandleUnknown != iReqHandleType )
+    else if ( EMultimodePhoneBookStoreReqHandleUnknown != 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 = EMultimodePhoneBookStoreReqHandleUnknown;
         }
-
+    // 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 = EMultimodePhoneBookStoreReqHandleUnknown;
     return KErrNone;
     }