diff -r b13141f05c3d -r b5fbb9b25d57 emailservices/emailframework/commonlib/src/CFSMailMessagePart.cpp --- a/emailservices/emailframework/commonlib/src/CFSMailMessagePart.cpp Tue Apr 27 16:20:14 2010 +0300 +++ b/emailservices/emailframework/commonlib/src/CFSMailMessagePart.cpp Tue May 11 15:57:15 2010 +0300 @@ -402,16 +402,19 @@ if(plugin != NULL) { RPointerArray parts; - RArray partIds; - plugin->ChildPartsL(GetMailBoxId(),GetFolderId(),GetMessageId(),GetPartId(),parts); + CleanupResetAndDestroyPushL( parts ); + plugin->ChildPartsL(GetMailBoxId(),GetFolderId(),GetMessageId(),GetPartId(),parts); + RArray partIds; + CleanupClosePushL( partIds ); + partIds.ReserveL( 1 + parts.Count() ); for(TInt i=0;iGetMessageId()); + partIds.AppendL( parts[i]->GetMessageId() ); } - partIds.Append(GetPartId()); + partIds.AppendL( GetPartId() ); plugin->RemovePartContentL(GetMailBoxId(), GetFolderId(), GetMessageId(), partIds); - parts.ResetAndDestroy(); - partIds.Reset(); + CleanupStack::PopAndDestroy( &partIds ); + CleanupStack::PopAndDestroy( &parts ); } } @@ -432,12 +435,12 @@ { // get attachment list RPointerArray attachments; - attachments.Reset(); + CleanupResetAndDestroyPushL( attachments ); DoAttachmentListL(attachments); // copy attachment part ids RArray ids; - ids.Reset(); + CleanupClosePushL( ids ); for(TInt i=0;iGetPartId()); @@ -450,8 +453,8 @@ } // clean tables - attachments.ResetAndDestroy(); - ids.Reset(); + CleanupStack::PopAndDestroy( &ids ); + CleanupStack::PopAndDestroy( &attachments ); } }