diff -r 4dc3bb0099b0 -r c14618f9de99 cmmanager/cmmgr/Framework/Src/cmdlg.cpp --- 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; }