Try setting setting 'mouseChildren = false' in the application window
before dragging and to true when drag finished.



On Mon, Aug 10, 2015 at 5:22 AM, Dave Glasser <[email protected]> wrote:

> I'm using Flex 4.13.0. I'm porting a browser-based Flex app to the AIR
> platform, as a multi-window application. The main window will be used to
> configure server connections, and the child windows will be login sessions
> to individual servers -- essentially what you would see in the
> browser-based application.
>
> The code already uses a lot of drag/drop that works well in the browser.
> It didn't work so well in the AIR app, so I switched the AIR app to not use
> the native drag manager, but rather the same DragManagerImpl class as the
> browser app, by doing this in the main MXML file:
>
> <s:WindowedApplication
>     xmlns:fx="http://ns.adobe.com/mxml/2009";
>     xmlns:mx="library://ns.adobe.com/flex/mx"
>     xmlns:s="library://ns.adobe.com/flex/spark"
>     useNativeDragManager="false">
>
>
> Anyway, a lot of the problems I had with the native drag manager have gone
> away. But there's one huge new problem. The DragProxy is parented by the
> main application window, so while I'm dragging something within a child
> window, I see my dragImage (which is parented by the DragProxy) moving
> around within the main application window.
>
> In DragManagerImpl.doDrag(), I see this:
>
>         // The drag proxy is a UIComponent with a single child -
>         // an instance of the dragImage.
>         dragProxy = new DragProxy(dragInitiator, dragSource);
>
>         var e:Event;
>         if (hasEventListener("popUpChildren"))
>             e = new DragEvent("popUpChildren", false, true, dragProxy);
>         if (!e || dispatchEvent(e))
>             sm.popUpChildren.addChild(dragProxy);
>
>
> And here, sm seems to always be the ISystemManager of the main application
> window. I don't see any other code where the DragProxy is added to the
> display list.
>
>
> Does anyone have any ideas how I can get this to work?
>
>
>
>

Reply via email to