     {
         isScrolling = false;
         
-        var scrollEndEvent:TouchInteractionEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END);
+        var scrollEndEvent:TouchInteractionEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END, true);
         scrollEndEvent.relatedObject = scroller;
         scrollEndEvent.reason = TouchInteractionReason.SCROLL;
-        scroller.dispatchEvent(scrollEndEvent);
+        mouseDownedDisplayObject.dispatchEvent(scrollEndEvent);
     }
     
     

            isScrolling = false;
            
            // don't do anything
            scrollEndEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END);
            scrollEndEvent.relatedObject = scroller;
            scrollEndEvent.reason = TouchInteractionReason.SCROLL;
            scroller.dispatchEvent(scrollEndEvent);
            return;
        }
        

            
            scroller.performDrag(dx, dy);
            
            // Call updateAfterEvent() to make sure it looks smooth
            event.updateAfterEvent();
        }
    }
    
