flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shigeru Nakagaki (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FLEX-34098) Deleteing/Replacing Surrogate-Pair string causes RTE in TLF
Date Fri, 21 Feb 2014 02:06:20 GMT

     [ https://issues.apache.org/jira/browse/FLEX-34098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shigeru Nakagaki updated FLEX-34098:
------------------------------------

    Attachment: SurrogatePairTest_src.zip

Here you are.

I guess you need to install Japanese font if you want to see the letter.

CharacterUtil.isHighSurrogate for cheking high-bit of Surrogate-Pair.
CharacterUtil.isLowSurrogate for cheking low-bit of Surrogate-Pair.

thanks

> Deleteing/Replacing Surrogate-Pair string causes RTE in TLF
> -----------------------------------------------------------
>
>                 Key: FLEX-34098
>                 URL: https://issues.apache.org/jira/browse/FLEX-34098
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: RichEditableText
>    Affects Versions: Apache Flex 4.11.0
>         Environment: Windows 7 JP
>            Reporter: Shigeru Nakagaki
>            Priority: Critical
>              Labels: easytest
>         Attachments: SurrogatePairTest_src.zip
>
>
> Case 1
> Step 1. Input "𣘺" to s:TextInput
> Step 2. delete string of [Step 1] by DELETE/BACKSPACE key
> An RTE happens like below
>  RangeError: Invalid splitting of a surrogate pair
>  	at flashx.textLayout.elements::SpanElement/replaceText()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayout/internal/2008::deleteRange()
>  	at flashx.textLayout.edit::ModelEdit$/deleteText()
>  	at flashx.textLayout.operations::DeleteTextOperation/doOperation()
>  	at flashx.textLayout.edit::EditManager/doInternal()
>  	at flashx.textLayout.edit::EditManager/doOperation()
>  	at flashx.textLayout.edit::EditManager/deletePreviousCharacter()
>  	at flashx.textLayout.edit::EditManager/keyDownHandler()
>  	at flashx.textLayout.container::ContainerController/keyDownHandler()
>  	at flashx.textLayout.container::TextContainerManager/keyDownHandler()
>  	at spark.components.supportClasses::RichEditableTextContainerManager/keyDownHandler()
> Case 2
> Step 1. Input "𣘺" to s:TextInput
> Step 2. copy this string : "A"
> Step 3. select string of [Step 1]
> Step 4. press [Ctrl + V]
> Two RTE happen like below
> RangeError: Invalid splitting of a surrogate pair
>  	at flashx.textLayout.elements::SpanElement/replaceText()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayout/internal/2008::deleteRange()
>  	at flashx.textLayout.edit::ModelEdit$/deleteText()
>  	at flashx.textLayout.operations::DeleteTextOperation/doOperation()
>  	at flashx.textLayout.operations::InsertTextOperation/doDelete()
>  	at flashx.textLayout.operations::InsertTextOperation/doInternal()
>  	at flashx.textLayout.operations::InsertTextOperation/doOperation()
>  	at flashx.textLayout.edit::EditManager/doInternal()
>  	at flashx.textLayout.edit::EditManager/doOperation()
>  	at flashx.textLayout.edit::EditManager/flushPendingOperations()
>  	at flashx.textLayout.edit::EditManager/insertText()
>  	at spark.components::RichEditableText/handlePasteOperation()
>  	at spark.components::RichEditableText/textContainerManager_flowOperationEndHandler()
>  	at flash.events::EventDispatcher/dispatchEvent()
>  	at flashx.textLayout.container::TextContainerManager/dispatchEvent()
>  	at flash.events::EventDispatcher/dispatchEvent()
>  	at flashx.textLayout.elements::TextFlow/dispatchEvent()
>  	at flashx.textLayout.edit::EditManager/doInternal()
>  	at flashx.textLayout.edit::EditManager/doOperation()
>  	at flashx.textLayout.edit::EditManager/pasteTextScrap()
>  	at flashx.textLayout.edit::EditManager/editHandler()
>  	at flashx.textLayout.container::ContainerController/editHandler()
>  	at flashx.textLayout.container::TextContainerManager/editHandler()
>  	at flash.desktop::NativeApplication/_onKeyDownBubble()
>  RangeError: Invalid splitting of a surrogate pair
>  	at flashx.textLayout.elements::SpanElement/replaceText()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal()
>  	at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayout/internal/2008::deleteRange()
>  	at flashx.textLayout.edit::ModelEdit$/deleteText()
>  	at flashx.textLayout.operations::DeleteTextOperation/doOperation()
>  	at flashx.textLayout.operations::PasteOperation/doOperation()
>  	at flashx.textLayout.edit::EditManager/doInternal()
>  	at flashx.textLayout.edit::EditManager/doOperation()
>  	at flashx.textLayout.edit::EditManager/pasteTextScrap()
>  	at flashx.textLayout.edit::EditManager/editHandler()
>  	at flashx.textLayout.container::ContainerController/editHandler()
>  	at flashx.textLayout.container::TextContainerManager/editHandler()
>  	at flash.desktop::NativeApplication/_onKeyDownBubble()



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message