diff -r 1b207dd38b72 -r ace62b58f4b2 idlefw/plugins/profileplugin/src/caiprofileengine.cpp --- 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();