             
             _popUp.addEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE,
                                     popMouseDownOutsideHandler);
+            _popUp.addEventListener(MarshalMouseEvent.MOUSE_DOWN,
+                                    popMouseDownOutsideHandler);
+            _popUp.addEventListener(MarshalMouseEvent.MOUSE_WHEEL,
+                                    popMouseDownOutsideHandler);
                 
             _popUp.owner = this;
             

import mx.events.ListEvent;
import mx.events.MenuEvent;
import mx.events.FlexMouseEvent;
import mx.managers.IFocusManagerComponent;
import mx.managers.PopUpManager;
import mx.styles.ISimpleStyleClient;

    /**
     *  @private
     */    
    private function popMouseDownOutsideHandler(event:Event):void
    {
        if (event is MouseEvent)
        {
            // for automated testing, since we're generating this event and
            // can only set localX and localY, transpose those coordinates
            // and use them for the test point.
            var mouseEvent:MouseEvent = MouseEvent(event);
            var p:Point = event.target.localToGlobal(new Point(mouseEvent.localX, 
                                                               mouseEvent.localY));
            if (hitTestPoint(p.x, p.y, true))
            {
                // do nothing
            }
            else
            {
                close();
            }
        }
        else if (event is MarshalMouseEvent)
            close();
    }    
    
    /**
