diff -r aabf2c525e0f -r 9f56a4e1b8ab uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp --- a/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Fri Mar 12 15:43:43 2010 +0200 +++ b/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Mon Mar 15 12:41:34 2010 +0200 @@ -87,7 +87,6 @@ // Pointer down inside view rect, set flag to allow dragging // and initialize values iFlags.Set( EFlagDraggingAllowed ); - iPrevPosition = aPointerEvent.iPosition; iStartPosition = aPointerEvent.iPosition; StopPhysics(); @@ -112,15 +111,15 @@ iDragThresholdExceeded = ETrue; } } - - if ( iDragThresholdExceeded ) + else { TInt deltaY( iPrevPosition.iY - aPointerEvent.iPosition.iY ); - iPrevPosition = aPointerEvent.iPosition; TPoint deltaPoint( 0, deltaY ); iPhysics->RegisterPanningPosition( deltaPoint ); } + + iPrevPosition = aPointerEvent.iPosition; } else if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) { @@ -242,8 +241,12 @@ { BlockEvents( ETrue ); } - // Scroll view based on values from aknphysics + + // Disable background drawing while panning or flicking. Instead, + // background is drawn in one frame. + iEdwin.DrawViewBackground( ETrue ); ScrollView( ETrue ); + iEdwin.DrawViewBackground( EFalse ); } // ---------------------------------------------------------------------------