phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp
branchRCL_3
changeset 74 6b5524b4f673
parent 68 9da50d567e3c
child 85 38bb213f60ba
--- a/phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp	Tue Sep 14 20:54:53 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2AppUi.cpp	Wed Sep 15 11:56:55 2010 +0300
@@ -572,9 +572,23 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2AppUi::LeavePbkInMemExitL()
-	{
-	PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING("CPbk2AppUi::LeavePbkInMemExitL"));
-	
+    {
+    PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING("CPbk2AppUi::LeavePbkInMemExitL"));
+    
+    TBool dlgOnTop = IsDisplayingMenuOrDialog();
+    // When Phonebook app is to leave in memory with a dialog displaying
+    // on the top of it, an escape key event will be simuliated to notify
+    // the dialog more earlier.
+    if ( dlgOnTop ) 
+        { 
+        TKeyEvent key; 
+        key.iRepeats = 0; 
+        key.iCode = EKeyEscape; 
+        key.iModifiers = 0; 
+        key.iScanCode = EStdKeyNull; 
+        iCoeEnv->SimulateKeyEventL(key, EEventKey); 
+        } 
+
 	// Diasable bring to foreground on view activation event
 	SetCustomControl(1);