cmmanager/cmmgr/Framework/Src/cmdlg.cpp
branchRCL_3
changeset 17 c14618f9de99
parent 12 ea6e024ea6f9
child 19 22c3c67e5001
--- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Wed Mar 31 22:15:10 2010 +0300
+++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Wed Apr 14 16:22:04 2010 +0300
@@ -107,7 +107,7 @@
     , iCmManager( aCmManager )
     , iDestUid ( aDestUid )
     , iPrioritising ( EFalse )
-    , iExitReason( KDialogUserBack )
+    , iExitReason( KDialogUserExit )
     , iEscapeArrived( EFalse )
     , iExitduringProcessing( EFalse )
     , iBackduringProcessing( EFalse )
@@ -136,7 +136,10 @@
         // set old text back, if we have it...
         if ( iOldTitleText )
             {
-            TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) );
+            if ( iExitReason == KDialogUserBack )
+                {
+                TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) );
+                }
             delete iOldTitleText; iOldTitleText = NULL;
             }
         }    
@@ -446,6 +449,7 @@
         case EAknSoftkeyBack:
             {
             iCmManager->WatcherUnRegister();
+            iExitReason = KDialogUserBack;
             
             if ( !iProcessing )
                 {
@@ -632,7 +636,13 @@
             
         case ECmManagerUiCmdCmUserExit:
             {
-            iExitReason = KDialogUserExit;
+            if (!iProcessing)
+                {
+                *iSelected = 0;
+                iExitReason = KDialogUserExit;
+                TryExitL( iExitReason );
+                }
+            break;
             }
             
         case EAknSoftkeyBack:
@@ -640,6 +650,7 @@
             if (!iProcessing)
                 {
                 *iSelected = 0;
+                iExitReason = KDialogUserBack;
                 TryExitL( iExitReason );
                 }
             break;
@@ -840,6 +851,7 @@
                     iDestDlg->ShowDefaultConnectionNoteL( oldConn );
                     }
                 HandleListboxDataChangeL();
+                iListbox->HandleItemRemovalL();
                 }
                 break;
 
@@ -1979,6 +1991,7 @@
         if( !iCmManager->DestinationStillExistedL( iCmDestinationImpl ) )
             {
             iCmManager->WatcherUnRegister();
+            iExitReason = KDialogUserBack;
             TryExitL( iExitReason );
             return;
             }