You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by "Carol Frampton (JIRA)" <ji...@apache.org> on 2013/02/22 17:36:12 UTC
[jira] [Comment Edited] (FLEX-33409) TLF crashes when hypens are
shown in a multi span textFlow
[ 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