--- 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;
}
// ---------------------------------------------------------------------------