diff -r fc3320e39880 -r 17302fa075e1 mobilemessaging/audiomsg/src/audiomessageappui.cpp --- a/mobilemessaging/audiomsg/src/audiomessageappui.cpp Tue Sep 14 21:11:56 2010 +0300 +++ b/mobilemessaging/audiomsg/src/audiomessageappui.cpp Wed Sep 15 12:08:45 2010 +0300 @@ -343,7 +343,14 @@ delete iInsertOperation; if ( iWaitDialog ) { + // iWaitDialog->ProcessFinishedL is for + // cancellation\closing of wait dialog is asynchronous operation. it never gets so + // far that dialog would be really deleted before the application terminates. + // so to avoid memory leak , deleting the iWaitDialog. + iWaitDialog->SetCallback( NULL ); TRAP_IGNORE( iWaitDialog->ProcessFinishedL() ); + delete iWaitDialog; + iWaitDialog = NULL; } delete iIdle; delete iAbsorber;