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

    /**
     *  @private
     */    
    private function popMouseDownOutsideHandler(event:MouseEvent):void
    {
        // 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 p:Point = event.target.localToGlobal(new Point(event.localX, 
                                                           event.localY));
        if (hitTestPoint(p.x, p.y, true))
        {
            // do nothing
        }
        else
        {
            close();
        }
    }    
    
    /**

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