diff -r b13141f05c3d -r b5fbb9b25d57 emailservices/emailclientapi/src/emailmessage.cpp --- a/emailservices/emailclientapi/src/emailmessage.cpp Tue Apr 27 16:20:14 2010 +0300 +++ b/emailservices/emailclientapi/src/emailmessage.cpp Tue May 11 15:57:15 2010 +0300 @@ -505,12 +505,12 @@ RPointerArray parts; CleanupResetAndDestroyPushL( parts ); - iPluginMessage->ChildPartsL(parts); + iPluginMessage->ChildPartsL( parts ); TInt count( parts.Count() ); if( count == 0 ) { /* No content, return NULL */ - CleanupStack::Pop(); // parts + CleanupStack::PopAndDestroy( &parts ); // in case heap allocated but not used return NULL; } CFSMailMessagePart* part = parts[0]; @@ -524,7 +524,8 @@ if ( contentType.Equals( KFSMailContentTypeTextPlain ) || contentType.Equals( KFSMailContentTypeTextHtml ) ) { - iTextContent = CEmailTextContent::NewL(iPluginData, msgContentId, part, EAPIOwns ); + iTextContent = CEmailTextContent::NewL(iPluginData, msgContentId, part, EAPIOwns ); + parts[0] = NULL; // ownership of part transferred } else if ( contentType.Equals( KFSMailContentTypeMultipartMixed ) || contentType.Equals( KFSMailContentTypeMultipartAlternative ) || @@ -533,13 +534,10 @@ contentType.Equals( KFSMailContentTypeMultipartParallel ) ) { iContent = CEmailMultipart::NewL(iPluginData, msgContentId, part, EAPIOwns); + parts[0] = NULL; // ownership of part transferred } - if ( count == 2 ) - { - CFSMailMessagePart* part = parts[1]; - const TDesC& contentType = part->GetContentType(); - } - CleanupStack::Pop(); // parts + + CleanupStack::PopAndDestroy( &parts ); // parts if (iTextContent) {