Linux – mxmlc compiles differently under linux and windows

apache-flexlinuxwindows

I have a project which has several components loaded by a single preloader swf.

The preloader swf is strictly AS3 (No flex) and uses Loaders to load two different swfs which both use the flex library (Statically compiled, not rsl).

When I compile all three under linux and run the resulting preloader, one of the swfs fails to load properly, and the exception below (at the bottom of this post) is thrown.

If I compile the same component using the same ant task in windows, the component loads just fine without error. The windows file is also 683 bytes smaller.

This is true using the flex SDK 3.2.0 and 3.3.0 under linux and windows.

Have you seen this type of behavior? Can you offer any suggestions for why it might be happening, or how to determine what is wrong?

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.managers::FocusManager/activate()
at mx.managers::SystemManager/activateForm()
at mx.managers::SystemManager/activate()
at mx.core::Application/initManagers()
at mx.core::Application/initialize()
at OC_Footer/initialize()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::childAdded()
at mx.managers::SystemManager/initializeTopLevelWindow()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()
at mx.managers::SystemManager/docFrameListener()

Best Answer

So wait, are you using different version of the SDK in each platform? That would certainly account for some differences (at the very least in the size of the swf...)

IIUC you get this error when you're loading the page in the browser, right? It's hard to tell from just the stack trace what's wrong, but I can tell you that I used to get a similar error on Windows and it had to do with keyboard events (e.g. using the tab key to move between elements when popups are visible, and similar stuff). Sorry I can't offer a more accurate diagnosis.