--- a/messagingappbase/mcesettings/src/MceSettingsEmailSel.cpp Wed Apr 14 15:53:21 2010 +0300
+++ b/messagingappbase/mcesettings/src/MceSettingsEmailSel.cpp Tue Apr 27 16:33:37 2010 +0300
@@ -106,6 +106,9 @@
{
iEmailFramework = ETrue;
}
+ iCmaillistItems = NULL;
+ iCmailBoxes = NULL;
+ iCmaillistItemUids = NULL;
}
// ---------------------------------------------------------
@@ -128,12 +131,30 @@
if( iMtmStore )
{
delete iMtmStore;
+ iMtmStore = NULL;
}
if( iMsvSessionPtr )
{
delete iMsvSessionPtr;
+ iMsvSessionPtr = NULL;
}
UnLoadResource();
+ if(iCmaillistItemUids)
+ {
+ delete iCmaillistItemUids;
+ iCmaillistItemUids = NULL;
+ }
+ if(iCmailBoxes)
+ {
+ iCmailBoxes->Close();
+ delete iCmailBoxes;
+ iCmailBoxes = NULL;
+ }
+ if(iCmaillistItems)
+ {
+ delete iCmaillistItems;
+ iCmaillistItems = NULL;
+ }
}
// ---------------------------------------------------------
@@ -364,10 +385,16 @@
aMtmType = entry.iMtm;
}
}
- delete iCmaillistItemUids;
- iCmaillistItemUids = NULL;
- delete iCmaillistItems;
- iCmaillistItems = NULL;;
+ if(iCmaillistItemUids)
+ {
+ delete iCmaillistItemUids;
+ iCmaillistItemUids = NULL;
+ }
+ if(iCmaillistItems)
+ {
+ delete iCmaillistItems;
+ iCmaillistItems = NULL;
+ }
CleanupStack::PopAndDestroy( aListItemUids );
CleanupStack::PopAndDestroy( aListItems );
if(cancel)
@@ -621,12 +648,23 @@
atimeItems->Sort(key);
TUid cmailEntryUid;
+ if(iCmaillistItems)
+ {
+ delete iCmaillistItems;
+ iCmaillistItems = NULL;
+ }
//Array to get the list of Cmail Boxes
iCmaillistItems = new (ELeave) CDesCArrayFlat(
KArrayGranularity );
- iCmaillistItemUids = new ( ELeave ) CArrayFixFlat<TUid>( KArrayGranularity );
-
+ if(iCmaillistItemUids)
+ {
+ delete iCmaillistItemUids;
+ iCmaillistItemUids = NULL;
+ }
+ iCmaillistItemUids = new ( ELeave )
+ CArrayFixFlat<TUid>( KArrayGranularity );
+
// Go one by one in Hash table
if(atimeItems->Count() > 0)
{
@@ -659,6 +697,12 @@
if(iEmailFramework)
{
//Added for Cmail Details
+ if(iCmailBoxes)
+ {
+ iCmailBoxes->Close();
+ delete iCmailBoxes;
+ iCmailBoxes = NULL;
+ }
iCmailBoxes =
new( ELeave )RHashMap< TInt64, TInt >
(&TPtrC8Hash , &TInt64Ident);
@@ -754,8 +798,12 @@
AppendCmailBoxesL(timeItems, aEntry);
CleanupStack::PopAndDestroy( cmaillist );
CleanupStack::PopAndDestroy( timeItems );
- delete iCmailBoxes;
- iCmailBoxes = NULL;
+ if(iCmailBoxes)
+ {
+ iCmailBoxes->Close();
+ delete iCmailBoxes;
+ iCmailBoxes = NULL;
+ }
}
}