--- a/mpx/collectionframework/collectionengine/src/mpxcollectioncache.cpp Thu Aug 19 10:24:28 2010 +0300
+++ b/mpx/collectionframework/collectionengine/src/mpxcollectioncache.cpp Tue Aug 31 15:41:40 2010 +0300
@@ -28,6 +28,7 @@
#include <mpxcollectionopenlresultdef.h>
#include <mpxlog.h>
#include "mpxcollectioncache.h"
+#include <mmf/common/mmfcontrollerpluginresolver.h>
// CONSTANTS
const TInt KMPXRootNodeId = 0;
@@ -589,6 +590,7 @@
void CMPXCollectionCacheNode::HandleChangeL( TMPXItemId aChangeItemId,
RPointerArray<CMPXCollectionCacheNode>& aArray )
{
+ CleanupResetAndDestroyPushL(aArray);
// This node is affected
// All child nodes are invalid!
//
@@ -647,6 +649,7 @@
} // for
} // if iResults
} // if no children
+ CleanupStack::Pop(&aArray);
}
// ----------------------------------------------------------------------------
@@ -827,6 +830,7 @@
// O(n^2) complexity here is OK, Merging keeps the number of items
// very small. Less than 3 items are alive at a time
//
+ CleanupClosePushL( aArray );
RArray<TMPXOpenDataBlock> newArray;
CleanupClosePushL( newArray );
@@ -869,6 +873,7 @@
MPX_DEBUG3("Order: %i %i", newArray[i].iOffset, newArray[i].iSize );
}
CleanupStack::PopAndDestroy( &newArray );
+ CleanupStack::Pop();
}
#ifdef _DEBUG