--- 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();