harvester/client/src/harvesterrequestactive.cpp
branchRCL_3
changeset 19 b73252188534
parent 6 646a02f170b9
--- a/harvester/client/src/harvesterrequestactive.cpp	Thu Jul 15 19:07:24 2010 +0300
+++ b/harvester/client/src/harvesterrequestactive.cpp	Thu Aug 19 10:20:41 2010 +0300
@@ -32,14 +32,11 @@
     if( IsActive() )
         {
         Cancel();
-        if( iObserver )
-            {
-            iObserver->HarvestingComplete( iUri, KErrCancel );
-            }    
-        iRequestCompleted = ETrue;
         }
     
+    iRequestCompleted = ETrue;
     delete iAlbumIds;
+    iAlbumIds = NULL;
     }
 
 // ---------------------------------------------------------------------------
@@ -79,10 +76,16 @@
 //
 void CHarvesterRequestActive::RunL()
     {
+    if( iStatus.Int() == KErrCancel )
+        {
+        return;
+        }           
+    
     if( iStatus.Int() && iObserver )
         {
         iObserver->HarvestingComplete( iUri, iStatus.Int() );
         }       
+    
     iRequestCompleted = ETrue;
     if( iRequestQueue )
         {
@@ -104,7 +107,8 @@
     if( iObserver )
         {
         iObserver->HarvestingComplete( iUri, aError );
-        }    
+        }
+    
     iRequestCompleted = ETrue;
     return KErrNone;
     }
@@ -116,6 +120,7 @@
 void CHarvesterRequestActive::DoCancel()
     {
     iCancelled = ETrue;
+	iObserver = NULL;
     }
 
 // ---------------------------------------------------------------------------