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?
