photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp
branchRCL_3
changeset 15 191387a8b767
parent 14 2dac0fdba72b
child 18 78ad99c24f08
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp	Wed Apr 14 15:57:24 2010 +0300
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp	Tue Apr 27 16:37:53 2010 +0300
@@ -182,6 +182,9 @@
 			GlxFullThumbnailAttributeId( EFalse,  iGridIconSize.iWidth,
 					iGridIconSize.iHeight ) );
 	CreateGridL();
+ 
+   iIsDialogLaunched = EFalse;
+   iIsMMCRemoved = EFalse;
 
    iMMCNotifier = CGlxMMCNotifier::NewL(*this);
 	}
@@ -931,9 +934,19 @@
 				{
 				iHgGrid->InitScreenL(GetHgGridRect());
 				}
+			if (iIsDialogLaunched && iIsMMCRemoved)
+			    {
+                iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit);
+			    }
 			retVal = ETrue;
+			iIsDialogLaunched = EFalse;
 			break;
 			}
+		case EGlxCmdDialogLaunched:
+		    {
+		    iIsDialogLaunched = ETrue;
+            break;
+   		    }
 		default:
 			break;
 		}
@@ -987,6 +1000,10 @@
 void CGlxGridViewContainer::HandleMMCRemovalL()
     {
     TRACER("CGlxGridViewContainer::HandleMMCRemovalL()");
-    iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit);
+    iIsMMCRemoved = ETrue;
+    if(!iIsDialogLaunched)
+        {
+        iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit);
+        }
     }
 //end of file