diff -r f5907b1a1053 -r 0396474f30f5 emailuis/uicomponents/src/fstextparser.cpp --- a/emailuis/uicomponents/src/fstextparser.cpp Fri Mar 12 15:41:14 2010 +0200 +++ b/emailuis/uicomponents/src/fstextparser.cpp Mon Mar 15 12:39:10 2010 +0200 @@ -717,7 +717,7 @@ info.iFirstFieldPos - iPosition)); textObject = static_cast (CFsRichTextText::NewL(iGNOSomeText, 0)); - + CleanupStack::PushL(textObject); TInt styleId = iTextStyleManager->GetStyleIDL(iGNOCharFormat); ((CFsRichTextText*)textObject)->SetStyleId(styleId); @@ -728,7 +728,8 @@ iGNOCharFormat.iFontPresentation.iTextColor ); iLastPosition = iPosition; - iPosition += iGNOSomeText.Length(); + iPosition += iGNOSomeText.Length(); + CleanupStack::Pop(textObject); } else { @@ -766,6 +767,7 @@ CFsRichTextText* smileyTextObject = CFsRichTextText::NewL(iGNOSomeText, 0); + CleanupStack::PushL(smileyTextObject); smileyTextObject->SetTextColor( iGNOCharFormat.iFontPresentation.iTextColor ); @@ -797,7 +799,7 @@ CFsRichTextPicture* smileyPictureObject = CFsRichTextPicture::NewL(); - + CleanupStack::PushL(smileyPictureObject); if(iIsSetSizeOfSmiley) { texturesize = iSizeOfSmiley; @@ -819,7 +821,9 @@ textObject = CFsRichTextSmiley::NewL( smileyTextObject, smileyPictureObject); - + + CleanupStack::Pop(smileyPictureObject); + CleanupStack::Pop(smileyTextObject); textObject->SetBeginOfObject(iPosition); textObject->SetEndOfObject(iPosition + iGNOSomeText.Length() - 1); @@ -844,7 +848,7 @@ { textObject = static_cast (CFsRichTextText::NewL(iGNOSomeText, 0)); - + CleanupStack::PushL(textObject); TInt styleId = iTextStyleManager->GetStyleIDL(iGNOCharFormat); ((CFsRichTextText*)textObject)->SetStyleId(styleId); @@ -887,6 +891,8 @@ iLastPosition = iPosition; iPosition += iGNOSomeText.Length(); + + CleanupStack::Pop(textObject); } }