syncmlfw/common/sosserver/src/NSmlTask.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
--- a/syncmlfw/common/sosserver/src/NSmlTask.cpp	Tue Aug 31 16:04:06 2010 +0300
+++ b/syncmlfw/common/sosserver/src/NSmlTask.cpp	Wed Sep 01 12:27:42 2010 +0100
@@ -378,7 +378,8 @@
 			RReadStream filterStream = ctype->FilterReadStreamL();
 			CleanupClosePushL( filterStream );
 			RPointerArray<CSyncMLFilter>* filterArray = new ( ELeave ) RPointerArray<CSyncMLFilter>();
-			CleanupStack::PushL( filterArray );
+			CleanupRPtrArrayPushL(filterArray);
+
 			TInt count(0);
 			TRAPD(error, count = filterStream.ReadInt32L() );
 			if ( error == KErrNone )
@@ -391,11 +392,9 @@
 				}
 			else if ( prof->IntValue( EDSProfileProtocolVersion ) == ESmlVersion1_2 )
 				{
-				CleanupStack::Pop(); // filterArray;
-				filterArray->ResetAndDestroy();
-				delete filterArray;
+                CleanupStack::PopAndDestroy(filterArray); 
 				filterArray = iSession.HostClient().SupportedServerFiltersL( iTaskUID, matchType, changeInfo, resultCode );				
-				CleanupStack::PushL( filterArray );
+				CleanupRPtrArrayPushL(filterArray);
 				}
 		    
 			iSession.HostClient().CheckServerFiltersL( iTaskUID, *filterArray, changeInfo, resultCode );
@@ -435,8 +434,7 @@
 				
             CleanupStack::PopAndDestroy(agentLog);
             
-            filterArray->ResetAndDestroy();            
-			CleanupStack::PopAndDestroy(filterArray);            	
+            CleanupStack::PopAndDestroy(filterArray);            	
             CleanupStack::PopAndDestroy(&filterStream);            
             }
         else