Hey guys, I feel I've done as much as I can on this ticket to pave the
way for someone with more TLF knowledge to hopefully have an easy time
understanding and fixing it. Do any of you have time to take a look?
Many thanks!

On 13 April 2016 at 11:50, Mihai Chira (JIRA) <j...@apache.org> wrote:
>
>     [ 
> https://issues.apache.org/jira/browse/FLEX-35078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15238824#comment-15238824
>  ]
>
> Mihai Chira edited comment on FLEX-35078 at 4/13/16 9:49 AM:
> -------------------------------------------------------------
>
> * in {{TextFlowLine.makeSelectionBlocks()}} 
> {{textLine.getAtomIndexAtCharIndex(27) == -1}} although 
> {{textLine.rawTextLength == 37}}
> * after validation (see the *Workaround* in the ticket description) the text 
> flow
> {noformat}
> <TextFlow whiteSpaceCollapse="preserve" version="3.0.0" 
> xmlns="http://ns.adobe.com/textLayout/2008";><p><span 
> fontSize="15"></span><span>The bug is in the function 
> TextFlowLine.adjustEndElementForBidi</span></p></TextFlow>
> {noformat} is converted into {noformat}
> <TextFlow whiteSpaceCollapse="preserve" version="3.0.0" 
> xmlns="http://ns.adobe.com/textLayout/2008";><p><span>The bug is in the 
> function TextFlowLine.adjustEndElementForBidi</span></p></TextFlow>{noformat}
> (where the empty span is where the bullet text used to be) and the fatal 
> isn't thrown.
>
>
> was (Author: evolverine):
> * in {{TextFlowLine.makeSelectionBlocks()}} 
> {{textLine.getAtomIndexAtCharIndex(27) == -1}} although 
> {{textLine.rawTextLength == 37}}
> * after validation (see the *Workaround* in the ticket description) the text 
> flow
> {noformat}
> <TextFlow whiteSpaceCollapse="preserve" version="3.0.0" 
> xmlns="http://ns.adobe.com/textLayout/2008";><p><span 
> fontSize="15"></span><span>The bug is in the function 
> TextFlowLine.adjustEndElementForBidi</span></p></TextFlow>
> {noformat} is converted into {noformat}
> <TextFlow whiteSpaceCollapse="preserve" version="3.0.0" 
> xmlns="http://ns.adobe.com/textLayout/2008";><p><span>The bug is in the 
> function TextFlowLine.adjustEndElementForBidi</span></p></TextFlow>{noformat}
> where the empty span is where the bullet text used to be.
>
>> Fatal when SelectionManager tries to reapply selection onto changed textFlow
>> ----------------------------------------------------------------------------
>>
>>                 Key: FLEX-35078
>>                 URL: https://issues.apache.org/jira/browse/FLEX-35078
>>             Project: Apache Flex
>>          Issue Type: Bug
>>          Components: Spark: RichEditableText, TLF
>>    Affects Versions: Apache Flex 4.15.0
>>            Reporter: Mihai Chira
>>            Assignee: Mihai Chira
>>             Fix For: Apache Flex 4.16.0
>>
>>         Attachments: Main.mxml
>>
>>
>> *Steps to reproduce*:
>> * run the attached mxml
>> * click on the "Bullets" button
>> *Expected results*: the bullet text is removed from the paragraph and the 
>> RichEditableText is focused.
>> *Actual results*: the bullet text is removed, but when the focus moves back 
>> to the RichEditableText component, the following fatal is thrown:
>> {noformat}
>> [Fault] exception, information=RangeError: Error #2006: The supplied index 
>> is out of bounds.
>> at flash.text.engine::TextLine/getAtomBidiLevel()
>> at 
>> flashx.textLayout.compose::TextFlowLine/adjustEndElementForBidi()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:2499]
>> at 
>> flashx.textLayout.compose::TextFlowLine/makeSelectionBlocks()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:1812]
>> at 
>> flashx.textLayout.compose::TextFlowLine/http://ns.adobe.com/textLayout/internal/2008::calculateSelectionBounds()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:1517]
>> at 
>> flashx.textLayout.compose::TextFlowLine/getSelectionShapesCacheEntry()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:1428]
>> at 
>> flashx.textLayout.compose::TextFlowLine/createSelectionShapes()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:1664]
>> at 
>> flashx.textLayout.compose::TextFlowLine/http://ns.adobe.com/textLayout/internal/2008::hiliteBlockSelection()[C:\Users\evolverine\Adobe
>>  Flash Builder 
>> 4.7\FLEX-33058\src\flashx\textLayout\compose\TextFlowLine.as:2196]
>> at 
>> flashx.textLayout.container::ContainerController/http://ns.adobe.com/textLayout/internal/2008::addSelectionShapes()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\container\ContainerController.as:2920]
>> at 
>> flashx.textLayout.edit::SelectionManager/addSelectionShapes()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\edit\SelectionManager.as:1240]
>> at 
>> flashx.textLayout.edit::SelectionManager/refreshSelection()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\edit\SelectionManager.as:1272]
>> at 
>> flashx.textLayout.edit::SelectionManager/http://ns.adobe.com/textLayout/internal/2008::setSelectionFormatState()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\edit\SelectionManager.as:896]
>> at 
>> flashx.textLayout.edit::SelectionManager/focusInHandler()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\edit\SelectionManager.as:2279]
>> at 
>> flashx.textLayout.container::ContainerController/focusInHandler()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\container\ContainerController.as:2452]
>> at 
>> flashx.textLayout.container::TextContainerManager/focusInHandler()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\container\TextContainerManager.as:2089]
>> at 
>> spark.components.supportClasses::RichEditableTextContainerManager/focusInHandler()[C:\Users\evolverine\workspace\flex-sdk\frameworks\projects\spark\src\spark\components\supportClasses\RichEditableTextContainerManager.as:642]
>> at 
>> flashx.textLayout.container::ContainerController/http://ns.adobe.com/textLayout/internal/2008::requiredFocusInHandler()[C:\Users\evolverine\workspace\tlf\textLayout\src\flashx\textLayout\container\ContainerController.as:2470]
>> at flash.display::Stage/set focus()
>> at 
>> mx.core::UIComponent/setFocus()[C:\Users\evolverine\workspace\flex-sdk\frameworks\projects\framework\src\mx\core\UIComponent.as:10437]
>> at 
>> spark.components::RichEditableText/setFocus()[C:\Users\evolverine\workspace\flex-sdk\frameworks\projects\spark\src\spark\components\RichEditableText.as:3122]
>> at Main/bulletList_clickHandler()[C:\Users\evolverine\Adobe Flash Builder 
>> 4.7\FLEX-33058\src\Main.mxml:39]
>> at Main/__bulletsButton_click()[C:\Users\evolverine\Adobe Flash Builder 
>> 4.7\FLEX-33058\src\Main.mxml:71]
>> {noformat}
>> *Workaround*: call {{display.validateNow();}} before {{display.setFocus();}}
>> *Notes*:
>> * couldn't reproduce the bug with only one line; we seem to need the text to 
>> wrap around the second line.
>> * couldn't reproduce the bug if the span representing the bullet text wasn't 
>> set to an explicit font size (of any value).
>> * could reproduce the bug with many random (non-empty) strings for the 
>> bullet text, including one space.
>> * could reproduce the bug when I set the fontWeight instead of the fontSize 
>> on the bullet span. It seems that anything that will get the bullet placed 
>> into a separate span rather than merged with the span containing the main 
>> text will reproduce the bug.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)

Reply via email to