harvester/client/src/harvesterrequestqueue.cpp
changeset 3 b73a2e62868f
parent 1 acef663c1218
child 15 3cebc1a84278
--- a/harvester/client/src/harvesterrequestqueue.cpp	Tue Jan 26 12:13:20 2010 +0200
+++ b/harvester/client/src/harvesterrequestqueue.cpp	Tue Feb 02 00:24:33 2010 +0200
@@ -125,7 +125,8 @@
         {
         CHarvesterRequestActive* selectedRequest = NULL;
     
-        for ( TInt i = 0; i < iRequests.Count(); i++ )
+        TInt endIndex( iRequests.Count() );
+        for ( TInt i = 0; i < endIndex; i++ )
             {
             CHarvesterRequestActive* request = iRequests[i];
         
@@ -139,10 +140,7 @@
             
                 // correct the index so that no tasks are skipped
                 i--;
-                if(i <= -1)
-                    {
-                    i = -1;
-                    }
+                endIndex--;
             
                 WRITELOG( "CHarvesterRequestQueue::RunL() - removing completed request");
                 }
@@ -233,6 +231,7 @@
         if( request )
             {
             request->Cancel();
+            request->iRequestQueue = NULL;
             }
         }
     }