[
https://issues.apache.org/jira/browse/FLEX-33409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13584365#comment-13584365
]
Carol Frampton edited comment on FLEX-33409 at 2/22/13 4:34 PM:
----------------------------------------------------------------
A simpler example is:
<s:Panel width="100%" height="100%">
<s:TextArea width="100%" height="100%" id="textArea" text="Second span.
This text has a hypen in the next long word long word LongWordWithAHyphen.
Make sure the hypen is shown and there is a 3rd line! If you can see it, then
start typing here ->"/>
</s:Panel>
Using the above code, click at the end of the displayed text to insert text,
type a "1", and you will see the text displayed already looks incorrect. Then
type a left arrow which demonstrates things are messed up internally.
Error: Error #2160: The TextLine is INVALID and cannot be used to access the
current state of the TextBlock.
at flash.text.engine::TextBlock/findPreviousAtomBoundary()
at
flashx.textLayout.elements::ParagraphElement/findPreviousAtomBoundary()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/elements/ParagraphElement.as:480]
at
flashx.textLayout.utils::NavigationUtil$/previousAtomHelper()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:70]
at
flashx.textLayout.utils::NavigationUtil$/doIncrement()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:58]
at
flashx.textLayout.utils::NavigationUtil$/previousAtomPosition()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:81]
at
flashx.textLayout.utils::NavigationUtil$/moveBackwardHelper()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:229]
at
flashx.textLayout.utils::NavigationUtil$/previousCharacter()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:292]
at
flashx.textLayout.edit::SelectionManager/handleLeftArrow()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1564]
at
flashx.textLayout.edit::SelectionManager/handleKeyEvent()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1731]
at
flashx.textLayout.edit::SelectionManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1794]
at
flashx.textLayout.edit::EditManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/EditManager.as:288]
at
flashx.textLayout.container::ContainerController/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/container/ContainerController.as:2529]
at
flashx.textLayout.container::TextContainerManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/container/TextContainerManager.as:1889]
at
spark.components.supportClasses::RichEditableTextContainerManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as:665]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/framework/src/mx/core/UIComponent.as:13160]
at
mx.managers::SystemManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/framework/src/mx/managers/SystemManager.as:2889]
If you start with an empty TextArea and paste this same text in it does not
hyphenate and wraps LongWordWithAHyphen to the next line.
was (Author: cframpton):
The textFlow above can be replaced with this simpler one.
private const textFLowXML:XML = <TextFlow
xmlns="http://ns.adobe.com/textLayout/2008">
<span> Second span. This text has a hypen in the next
long word long word LongWordWithAHyphen. Make sure the hypen is shown and
there is a 3rd line! If you can see it, then start typing here -></span>
</TextFlow>;
Using the above code, click at the end of the displayed text to insert text,
type a "1", and you will see the text displayed already looks incorrect. Then
type a left arrow which demonstrates things are messed up internally.
Error: Error #2160: The TextLine is INVALID and cannot be used to access the
current state of the TextBlock.
at flash.text.engine::TextBlock/findPreviousAtomBoundary()
at
flashx.textLayout.elements::ParagraphElement/findPreviousAtomBoundary()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/elements/ParagraphElement.as:480]
at
flashx.textLayout.utils::NavigationUtil$/previousAtomHelper()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:70]
at
flashx.textLayout.utils::NavigationUtil$/doIncrement()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:58]
at
flashx.textLayout.utils::NavigationUtil$/previousAtomPosition()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:81]
at
flashx.textLayout.utils::NavigationUtil$/moveBackwardHelper()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:229]
at
flashx.textLayout.utils::NavigationUtil$/previousCharacter()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/utils/NavigationUtil.as:292]
at
flashx.textLayout.edit::SelectionManager/handleLeftArrow()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1564]
at
flashx.textLayout.edit::SelectionManager/handleKeyEvent()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1731]
at
flashx.textLayout.edit::SelectionManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/SelectionManager.as:1794]
at
flashx.textLayout.edit::EditManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/edit/EditManager.as:288]
at
flashx.textLayout.container::ContainerController/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/container/ContainerController.as:2529]
at
flashx.textLayout.container::TextContainerManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/textLayout/3.0.33/src/flashx/textLayout/container/TextContainerManager.as:1889]
at
spark.components.supportClasses::RichEditableTextContainerManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as:665]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/framework/src/mx/core/UIComponent.as:13160]
at
mx.managers::SystemManager/keyDownHandler()[/Users/cframpto/dev/flex/sdk/branches/develop/frameworks/projects/framework/src/mx/managers/SystemManager.as:2889]
If you start with an empty TextArea and paste this same text in it does not
hyphenate and wraps LongWordWithAHyphen to the next line.
> TLF crashes when hypens are shown in a multi span textFlow
> ----------------------------------------------------------
>
> Key: FLEX-33409
> URL: https://issues.apache.org/jira/browse/FLEX-33409
> Project: Apache Flex
> Issue Type: Bug
> Affects Versions: Adobe Flex SDK 4.6 (Release)
> Environment: TLF editing
> Reporter: Woodwing Developer
> Priority: Blocker
> Labels: TLF, crash, editing, hyphen, span, textflow
>
> When soft hyphens are used and shown, in a textFlow with 2 or more spans, TLF
> crashes when typing.
> Import the underlying text flow xml. Resize the text area until the hyphen is
> visible. Then start typing AFTER the hypened word, also pressing the enter
> key. TLF crashes.
> Sample textFLow (if the soft hyphen is not show, insert a new one in the
> appropriate word):
> <TextFlow color="#000000" fontSize="12" lineHeight="14" paddingBottom="0"
> paddingLeft="10" paddingRight="10" paddingTop="0"
> whiteSpaceCollapse="preserve" version="2.0.0"
> xmlns="http://ns.adobe.com/textLayout/2008">
> <p>
> <span backgroundColor="#ffffff" textDecoration="underline">First
> Span</span>
> <span backgroundColor="#ffffff" textDecoration="none"> Second span.
> This text has a hypen in the next long word LongWordWithAHyphen. Make sure
> the hypen is shown! Then start typing and pressing enter till TLF crashes
> (should happen fast enough)</span>
> </p>
> </TextFlow>
> It seems that the textLine is damaged but the text engine fails to recompose
> the line properly.
--
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