[ https://issues.apache.org/jira/browse/FLEX-27924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Mclean updated FLEX-27924: --------------------------------- Labels: easytest (was: ) > Under specific conditions (detailed inside), mx:Text will hang or throw an > exception > ------------------------------------------------------------------------------------ > > Key: FLEX-27924 > URL: https://issues.apache.org/jira/browse/FLEX-27924 > Project: Apache Flex > Issue Type: Bug > Components: mx: Text > Affects Versions: Adobe Flex SDK 4.5.1 (Release) > Environment: Affected OS(s): All OS Platforms > Affected OS(s): All OS Platforms > Browser: Other (specify version) > Language Found: English > Reporter: Adobe JIRA > Labels: easytest > > Steps to reproduce: > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> > > <mx:HBox> > > <mx:VBox> > <mx:Label text="test"/> > </mx:VBox> > > <mx:VBox> > <mx:Text> > <mx:htmlText> > <![CDATA[1 > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9]] > > > </mx:htmlText> > </mx:Text> > </mx:VBox> > </mx:HBox> > > </mx:Application> > In order to fail, you must build this with Flash Builder 4.5.1 (I did not > test with earlier versions) and check the > "Use Flash Text Engine in MX components" check box in the Flex Compiler > options. If this option is not set (i.e., without FTE), > the code above works fine. > There must be two non-empty VBoxes (the order is not important) and the > htmlText must display more than 8 lines. > The same can be achieved by programmatically setting the htmlText to contain > more than 8 lines, either > with explicit newlines or with <br> tags. The contents of the lines is > immaterial. 8 lines or fewer will not cause this bug. > If the other VBox is empty, the bug will not manifest itself. > > Actual Results: > > This either hangs the browser (sometimes permanently, sometimes for a few > minutes), or it throws a null pointer exception with > this stack trace: > at > flashx.textLayout.compose::SimpleCompose/finalParcelAdjustment()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\SimpleCompose.as:298] > at > flashx.textLayout.compose::BaseCompose/finishParcel()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\BaseCompose.as:2078] > at > flashx.textLayout.compose::BaseCompose/parcelHasChanged()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\BaseCompose.as:2247] > at > flashx.textLayout.compose::BaseCompose/advanceToNextParcel()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\BaseCompose.as:2220] > at > flashx.textLayout.compose::BaseCompose/composeTextFlow()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\BaseCompose.as:467] > at > flashx.textLayout.compose::SimpleCompose/composeTextFlow()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\SimpleCompose.as:109] > at > TCMFactoryDisplayComposer/http://ns.adobe.com/textLayout/internal/2008::callTheComposer()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\container\TextContainerManager.as:2640] > at > flashx.textLayout.compose::StandardFlowComposer/internalCompose()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\StandardFlowComposer.as:760] > at > flashx.textLayout.compose::StandardFlowComposer/compose()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\compose\StandardFlowComposer.as:824] > at > flashx.textLayout.factory::TextFlowTextLineFactory/createTextLinesInternal()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\factory\TextFlowTextLineFactory.as:140] > at > flashx.textLayout.factory::TextFlowTextLineFactory/createTextLines()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\factory\TextFlowTextLineFactory.as:104] > at > flashx.textLayout.container::TextContainerManager/compose()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\container\TextContainerManager.as:1306] > at > flashx.textLayout.container::TextContainerManager/updateContainer()[C:\Vellum\branches\v2\2.0\dev\output\openSource\textLayout\src\flashx\textLayout\container\TextContainerManager.as:1345] > at > HTMLHelper/composeHTMLText()[E:\dev\4.5.1\frameworks\projects\spark\src\mx\core\FTETextField.as:3683] > at > mx.core::FTETextField/validateNow()[E:\dev\4.5.1\frameworks\projects\spark\src\mx\core\FTETextField.as:2524] > at mx.core::FTETextField/get > textWidth()[E:\dev\4.5.1\frameworks\projects\spark\src\mx\core\FTETextField.as:1651] > at > mx.controls::Text/measureUsingWidth()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\Text.as:493] > at > mx.controls::Text/measure()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\Text.as:375] > at > mx.core::UIComponent/measureSizes()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:8496] > at > mx.core::UIComponent/validateSize()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:8420] > at > mx.managers::LayoutManager/validateSize()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:665] > at > mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:792] > at > mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180] > The last line that I can debug is line 112 of TextFlowTextLineFactory.as > which contains: > TextLineFactoryBase.endFactoryCompose(saved); > The variable 'saved' is null at this point. > > Expected Results: > A two column display with the string "test" in one column and a vertical > sequence of numbers in the other. > > Workaround (if any): > > Using s:Application, s:VGroup, and s:HGroup instead of their mx equivalents > eliminates (or hides) the problem. > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira