         
         // Destroy the dropIndicator instance
         destroyDropIndicator();
+    }
+    
+    /**
+     *  @private
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    // FIXME (rfrishbe): this should really be on start, not starting...
+    private function touchScrollStartingHandler(event:TouchScrollEvent):void
+    {
+        if (event.scrollingObject == this.scroller)
+        {
+            // cancel actual selection
+            mouseDownCancelledFromScroll = true;
+            
+            // remove visual selection indicator
+            mouseDownSelectTimer.stop();
+            mouseDownSelectTimer = null;
+            itemSelected(mouseDownIndex, false);
+            mouseDownIndex = -1;
+            mouseDownPoint = null;
+            pendingSelectionOnMouseUp = false;
+        }
     }
     
     /**

        {
            // Don't commit the selection immediately, but wait to see if the user
            // is actually dragging. If they don't drag, then commit the selection
            if (isItemIndexSelected(newIndex))
            {
                pendingSelectionOnMouseUp = true;
                pendingSelectionShiftKey = event.shiftKey;
                pendingSelectionCtrlKey = event.ctrlKey;
            }
            else
            {

import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.system.ApplicationDomain;
import flash.text.TextField;
import flash.ui.Keyboard;
import flash.utils.Timer;

import mx.collections.ArrayCollection;
import mx.collections.IList;
