--- a/messagingappbase/mce/src/mceui.cpp Wed Mar 31 21:25:02 2010 +0300
+++ b/messagingappbase/mce/src/mceui.cpp Wed Apr 14 15:53:21 2010 +0300
@@ -286,8 +286,12 @@
delete iEmailApi;
delete iEmailNotifHandler;
delete iCancelExitFlagOperation;
- delete iMceIAUpdate;
-
+
+ if(iMceIAUpdate)
+ {
+ delete iMceIAUpdate;
+ }
+
if ( iIdArray )
{
delete iIdArray;
@@ -427,8 +431,13 @@
iMailAccountItemArray = new(ELeave) CMceMailAccountItemArray(
KMceArrayGranularity );
- iMceIAUpdate = CMceIAUpdateUtils::NewL(*this);
-
+ iMceIAUpdate = NULL;
+ iIadUpdateVal = EFalse;
+ if(FeatureManager::FeatureSupported( KFeatureIdIAUpdate ))
+ {
+ iIadUpdateVal = ETrue;
+ }
+
if ( iAlwaysOnline )
{
iConnectionMonitor.ConnectL();
@@ -2682,6 +2691,10 @@
{
CleanupStack::PopAndDestroy(); // TCleanupItem - will show tabs again
}
+ if ( iMceUiFlags.MceFlag( EMceUiFlagsTabsActive ) && (!tabsToCleanupStack) )
+ {
+ ShowTabsL( iMceListView->ListContainer()->CurrentFolderId() );
+ }
}
else
{
@@ -5556,13 +5569,29 @@
TBool newAudioMsgVal = EFalse;
newAudioMsgVal = FeatureManager::FeatureSupported( KFeatureIdAudioMessaging );
newPostcardVal = FeatureManager::FeatureSupported( KFeatureIdMmsPostcard );
+
if ( newAudioMsgVal != iAudioMsgEnabled || newPostcardVal != iPostcardEnabled )
{
TRAP_IGNORE( HandleMTMChangeL() );
}
- if ( MceViewActive( EMceMainViewActive ) )
- {
- CheckIAUpdate();
+
+ if ( MceViewActive( EMceMainViewActive ) && iIadUpdateVal)
+ {
+ if(!iMceIAUpdate) // first time messaging view is activated
+ {
+ TRAP_IGNORE(iMceIAUpdate = CMceIAUpdateUtils::NewL(*this));
+ if(iMceIAUpdate)
+ {
+ CheckIAUpdate();
+ }
+ }
+ else
+ {
+ if(iMceIAUpdate->IsUpdateRequired())
+ {
+ CheckIAUpdate();
+ }
+ }
}
}