photosgallery/controllers/fetcher/src/glxfetcherdialog.cpp
branchRCL_3
changeset 14 2dac0fdba72b
parent 11 71da52165949
child 15 191387a8b767
--- 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