--- a/syncmlfw/common/sosserver/src/NSmlTask.cpp Tue Apr 27 17:31:13 2010 +0300
+++ b/syncmlfw/common/sosserver/src/NSmlTask.cpp Tue May 11 16:59:53 2010 +0300
@@ -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