--- 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