Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Flex 4.5.1; Flex 4.6.0
Description
mx.managers.PopUpManagerImpl.mx_internal::hideModalWindow() ignores the destroy flag if the CSS style modalTransparencyDuration is set to 0. In this case, the popup manager creates a memory leak. When destroy is set to true, it only sets the visibility of the modalWindow to false instead of removing it from its parent.
The algorithm for removing the modal window from its parent is implemented in mx.managers.PopUpManagerImpl.fadeOutDestroyEffectEndHandler(). This code probably has to be moved into a separate function and either be called directly from hideModalWindow() when destroy is true and modalTransparencyDuration is 0, otherwise from fadeOutDestroyEffectEndHandler().