diff -r bcb43dc84c44 -r 2dac0fdba72b photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp --- a/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Wed Mar 31 21:31:03 2010 +0300 +++ b/photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp Wed Apr 14 15:57:24 2010 +0300 @@ -88,6 +88,11 @@ CGlxFetcherDialog::~CGlxFetcherDialog() { TRACER("CGlxFetcherDialog::~CGlxFetcherDialog"); + if(iMMCNotifier) + { + delete iMMCNotifier; + iMMCNotifier = NULL; + } if(iFetcherContainer) { // Restore the Toolbar as it was in the Calling application @@ -123,6 +128,7 @@ iUiUtility = CGlxUiUtility::UtilityL(); iEnv = iUiUtility->Env(); iFetchUri = EFalse; + iMMCNotifier = CGlxMMCNotifier::NewL(*this); } //----------------------------------------------------------------------------- @@ -449,4 +455,20 @@ TRACER("CGlxFetcherDialog::CallCancelFetcherL"); TryExitL(aCommandId); } + +//----------------------------------------------------------------------------- +// CGlxFetcherDialog::HandleMMCRemovalL +// This function will be called when MMC is removed +// This will ensure exit of fetcher dialog. +//----------------------------------------------------------------------------- +void CGlxFetcherDialog::HandleMMCRemovalL() + { + TRACER("CGlxFetcherDialog::HandleMMCRemovalL"); + /* + * need to delay the destruction of dialog. + */ + Extension()->iPublicFlags.Set(CEikDialogExtension::EDelayedExit); + ProcessCommandL(EAknSoftkeyCancel); + Extension()->iPublicFlags.Clear(CEikDialogExtension::EDelayedExit); + } // End of File