uifw/AvKon/aknphysics/src/aknphysicsconeobserver.cpp
branchRCL_3
changeset 20 d48ab3b357f1
parent 19 aecbbf00d063
--- a/uifw/AvKon/aknphysics/src/aknphysicsconeobserver.cpp	Tue Aug 31 15:28:30 2010 +0300
+++ b/uifw/AvKon/aknphysics/src/aknphysicsconeobserver.cpp	Wed Sep 01 12:16:19 2010 +0100
@@ -289,7 +289,7 @@
                         {
                         if ( child->Rect().Contains( aEvent->iPosition ) )
                             {
-                            target = ETargetOtherControl;
+                            target = ETargetChildControl;
                             }
                         }
                     }
@@ -319,7 +319,8 @@
         }
 
     if ( aEvent->iType == TPointerEvent::EButton1Up && 
-         iPhysics->IsPanningDrawOmitted() )
+         iPhysics->IsPanningDrawOmitted() && 
+         eventTarget == ETargetViewControl )
         {
         // Ensure that the last panning position gets drawn if the last
         // view redraw was omitted due to too high CPU use.
@@ -346,8 +347,9 @@
     if ( ongoingAction == CAknPhysics::EAknPhysicsActionFlicking )
         {
         // Event not targeted to view - stop flick
-        if ( ( eventTarget == ETargetOtherControl || 
-                eventTarget == ETargetChildControl ) && aTargetControl )
+        if (aTargetControl && (eventTarget == ETargetOtherControl 
+                || (eventTarget == ETargetChildControl && aTargetControl
+                != iWindowControl)))
             {
             stopPhysics = ETrue;
             aTargetControl->IgnoreEventsUntilNextPointerUp();