Details
-
Improvement
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
Adobe Flex SDK Previous
-
None
-
None
-
Affected OS(s): All OS Platforms
Language Found: English
Description
With UIComponentGlobals.catchCallLaterExceptions is true, the LayoutManager catches exceptions during phased instantiation. When it catches an exception, it dispatches an event, and then stops processing, leaving the layout in some unfinished state.
For Design View, we would like to be able to recover from a layout exception. To do that, we would want to know which component caused the exception, and have some way to put the LayoutManager in a good state. This would require the LayoutManager keeping track of the current component being processed so that it can add that information to the event it dispatches. Putting things in a good state could be a simple as a public function to clear the LayoutManager queues of invalid components.
With those features, Design View could handle the "callLaterError" event, replace the offending component with a placeholder, reset the LayoutManager to a good state, and then invalidate all components to force the LayoutManager to start layout from scratch.
This feature will allow Design View to continue working when a user's project has bad MXML or AS code, which happens frequently during development.