idlefw/plugins/profileplugin/src/caiprofileengine.cpp
branchRCL_3
changeset 23 ace62b58f4b2
parent 14 15e4dd19031c
--- a/idlefw/plugins/profileplugin/src/caiprofileengine.cpp	Tue May 25 13:01:39 2010 +0300
+++ b/idlefw/plugins/profileplugin/src/caiprofileengine.cpp	Wed Jun 09 10:01:25 2010 +0300
@@ -137,6 +137,9 @@
 //
 CAiProfileEngine::~CAiProfileEngine()
     {
+    delete iOfflineQueryDialog;
+    iOfflineQueryDialog = NULL;
+    
     iSSSettings.CancelAll( *this );
     iSSSettings.Close();
     
@@ -276,9 +279,12 @@
 		}
 	else
 		{
-		CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-		
-		result = dlg->ExecuteLD( R_AI_LEAVE_OFFLINE_MODE_QUERY );	
+		if ( iOfflineQueryDialog == NULL )
+			{
+        	iOfflineQueryDialog = CAknQueryDialog::NewL();
+			result = iOfflineQueryDialog->ExecuteLD( R_AI_LEAVE_OFFLINE_MODE_QUERY );
+			iOfflineQueryDialog = NULL;
+			}
 		}
        
 	return result;
@@ -665,6 +671,13 @@
 //
 void CAiProfileEngine::HandleProfileActivatedL( TInt /*aProfileId*/ )
     {
+    // prevents duplicate offline notes on the screen.
+    if ( iOfflineQueryDialog )
+        {
+        delete iOfflineQueryDialog;
+        iOfflineQueryDialog = NULL;
+        }
+
     DetermineTimedAndSilentStatesL();
     
     NotifyContentUpdate();