You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by "Justin Mclean (JIRA)" <ji...@apache.org> on 2013/04/17 05:05:15 UTC

[jira] [Updated] (FLEX-27924) Under specific conditions (detailed inside), mx:Text will hang or throw an exception

     [ 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