emailuis/uicomponents/src/fstextparser.cpp
branchRCL_3
changeset 32 a3a1ae9acec6
parent 0 8466d47a6819
child 61 dcf0eedfc1a3
--- 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<MFsRichTextObject*>
                 (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<MFsRichTextObject*>
                     (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);
 	        }     
         }