flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLEX-35078) Fatal when SelectionManager tries to reapply selection onto changed textFlow
Date Mon, 07 Nov 2016 23:01:59 GMT

    [ https://issues.apache.org/jira/browse/FLEX-35078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15645757#comment-15645757
] 

Harbs commented on FLEX-35078:
------------------------------

Thanks for checking.

I'd say this is probably not a bug at all. TLF is designed to be lazy about composition. The
issue seems to be that it's possible to set focus before the composition is run. I'm not sure
it makes sense to force composition every time  focus is set.

> 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: Harbs
>              Labels: easytest
>             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)

Mime
View raw message