mpx/collectionframework/collectionengine/src/mpxcollectioncache.cpp
branchRCL_3
changeset 24 6c1dfe4da5dd
parent 3 b425f12f328d
child 25 63223d4fd956
--- 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