taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp
branchRCL_3
changeset 12 9674c1a575e9
parent 11 ff572dfe6d86
child 17 b8fae6b8a148
--- 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);
-    	}
     }
 
 // -----------------------------------------------------------------------------