Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
Adobe Flex SDK 3.3 (Release)
-
None
-
None
-
Affected OS(s): All OS Platforms
Affected OS(s): All OS Platforms
Language Found: English
Description
Sorry I'm being slack and not providing a bug file.
Steps to reproduce:
1. Create a custom component
2. Override measure, and set scaleX/Y sometimes in the overriden measure
3. Create an instance of the componetn and put on the display list
4. Invalidate the custom component's size
5. Call LayoutManager.getInstance().validateNow
Actual Results:
Scale is never set correctly on the component.
Expected Results:
Scale is set correctly on the component.
The problem is that LayoutManager.validateNow (unlike LayoutManager.validateClient) does not check to see if a validateSize triggered invalidateClientPropertiesFlag, and if so go back and first call validateProperties. When this happens UIComponent.measureSizes -> adjustSizesForScaleChanges are called, and in adjustSizesForScaleChanges it sets oldScaleX/Y, such that in UIComponent.commitProperties doesn't ever properly update super.scaleX/Y.