diff -r ff572dfe6d86 -r 9674c1a575e9 taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Fri Mar 12 15:41:49 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Mon Mar 15 12:39:47 2010 +0200 @@ -458,6 +458,8 @@ Window().Invalidate(Rect()); + iEvtHandler->EnableEventHandling(ETrue); + // Fade behind the pop-up iPopupFader.FadeBehindPopup( this, NULL, ETrue ); @@ -602,7 +604,15 @@ { LaunchFeedback(ETouchFeedbackBasic, TTouchFeedbackType( ETouchFeedbackVibra | ETouchFeedbackAudio), aPointerEvent); - } + if ( !( iFastSwapArea->Rect().Contains(aPointerEvent.iParentPosition) || + iAppsHeading->Rect().Contains(aPointerEvent.iParentPosition) + ) ) + { + //move task switcher to background + iEvtHandler->EnableEventHandling(EFalse); + iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit); + } + } iFastSwapArea->HandlePointerEventL(aPointerEvent); } @@ -660,10 +670,13 @@ // CTsAppView::MoveOffset // ----------------------------------------------------------------------------- // -void CTsAppView::MoveOffset(const TPoint& aOffset) +void CTsAppView::MoveOffset(const TPoint& aOffset, TBool aDrawNow) { - DrawDeferred(); - iFastSwapArea->MoveOffset(aOffset); + if ( aDrawNow ) + { + DrawDeferred(); + } + iFastSwapArea->MoveOffset(aOffset, aDrawNow); } // ----------------------------------------------------------------------------- @@ -677,11 +690,6 @@ iFastSwapArea->TapL(aPoint); DrawNow(); } - else if( !iAppsHeading->Rect().Contains(aPoint)) - { - //move task switcher to background - iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit); - } } // ----------------------------------------------------------------------------- @@ -694,11 +702,6 @@ { iFastSwapArea->LongTapL(aPoint); } - else if( !iAppsHeading->Rect().Contains(aPoint)) - { - //move task switcher to background - iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit); - } } // ----------------------------------------------------------------------------- @@ -717,11 +720,6 @@ { iFastSwapArea->DragL(aEvent); } - else - { - //move task switcher to background - iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit); - } } // -----------------------------------------------------------------------------