diff -r b73a2e62868f -r 6752808b2036 harvester/client/src/harvestereventobserverao.cpp --- a/harvester/client/src/harvestereventobserverao.cpp Tue Feb 02 00:24:33 2010 +0200 +++ b/harvester/client/src/harvestereventobserverao.cpp Fri Feb 19 23:14:48 2010 +0200 @@ -135,6 +135,8 @@ Cancel(); iHarvesterEventQueue.Close(); } + + iObservers.Compress(); } void CHarvesterEventObserverAO::RunL() @@ -144,7 +146,8 @@ THarvesterEventNotification received; while( iHarvesterEventQueue.Receive( received ) != KErrUnderflow ) { - for(TInt i = iObservers.Count(); --i >= 0;) + const TInt count( iObservers.Count() ); + for(TInt i = count; --i >= 0;) { THarvesterEventObserver& observer = *(iObservers[i]); if( observer.iObserverInfo.iObserverId == received.iObserverId )