Return-Path: X-Original-To: apmail-flex-issues-archive@minotaur.apache.org Delivered-To: apmail-flex-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DC1581175C for ; Fri, 21 Feb 2014 02:06:20 +0000 (UTC) Received: (qmail 78983 invoked by uid 500); 21 Feb 2014 02:06:20 -0000 Delivered-To: apmail-flex-issues-archive@flex.apache.org Received: (qmail 78950 invoked by uid 500); 21 Feb 2014 02:06:20 -0000 Mailing-List: contact issues-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list issues@flex.apache.org Received: (qmail 78943 invoked by uid 99); 21 Feb 2014 02:06:20 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Feb 2014 02:06:20 +0000 Date: Fri, 21 Feb 2014 02:06:20 +0000 (UTC) From: "Shigeru Nakagaki (JIRA)" To: issues@flex.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (FLEX-34098) Deleteing/Replacing Surrogate-Pair string causes RTE in TLF MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FLEX-34098?page=3Dcom.atlassia= n.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 "=F0=A3=98=BA" 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 > =09at flashx.textLayout.elements::SpanElement/replaceText() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayo= ut/internal/2008::deleteRange() > =09at flashx.textLayout.edit::ModelEdit$/deleteText() > =09at flashx.textLayout.operations::DeleteTextOperation/doOperation() > =09at flashx.textLayout.edit::EditManager/doInternal() > =09at flashx.textLayout.edit::EditManager/doOperation() > =09at flashx.textLayout.edit::EditManager/deletePreviousCharacter() > =09at flashx.textLayout.edit::EditManager/keyDownHandler() > =09at flashx.textLayout.container::ContainerController/keyDownHandler() > =09at flashx.textLayout.container::TextContainerManager/keyDownHandler() > =09at spark.components.supportClasses::RichEditableTextContainerManager/= keyDownHandler() > Case 2 > Step 1. Input "=F0=A3=98=BA" 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 > =09at flashx.textLayout.elements::SpanElement/replaceText() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayo= ut/internal/2008::deleteRange() > =09at flashx.textLayout.edit::ModelEdit$/deleteText() > =09at flashx.textLayout.operations::DeleteTextOperation/doOperation() > =09at flashx.textLayout.operations::InsertTextOperation/doDelete() > =09at flashx.textLayout.operations::InsertTextOperation/doInternal() > =09at flashx.textLayout.operations::InsertTextOperation/doOperation() > =09at flashx.textLayout.edit::EditManager/doInternal() > =09at flashx.textLayout.edit::EditManager/doOperation() > =09at flashx.textLayout.edit::EditManager/flushPendingOperations() > =09at flashx.textLayout.edit::EditManager/insertText() > =09at spark.components::RichEditableText/handlePasteOperation() > =09at spark.components::RichEditableText/textContainerManager_flowOperat= ionEndHandler() > =09at flash.events::EventDispatcher/dispatchEvent() > =09at flashx.textLayout.container::TextContainerManager/dispatchEvent() > =09at flash.events::EventDispatcher/dispatchEvent() > =09at flashx.textLayout.elements::TextFlow/dispatchEvent() > =09at flashx.textLayout.edit::EditManager/doInternal() > =09at flashx.textLayout.edit::EditManager/doOperation() > =09at flashx.textLayout.edit::EditManager/pasteTextScrap() > =09at flashx.textLayout.edit::EditManager/editHandler() > =09at flashx.textLayout.container::ContainerController/editHandler() > =09at flashx.textLayout.container::TextContainerManager/editHandler() > =09at flash.desktop::NativeApplication/_onKeyDownBubble() > RangeError: Invalid splitting of a surrogate pair > =09at flashx.textLayout.elements::SpanElement/replaceText() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/deleteRangeInternal() > =09at flashx.textLayout.edit::TextFlowEdit$/http://ns.adobe.com/textLayo= ut/internal/2008::deleteRange() > =09at flashx.textLayout.edit::ModelEdit$/deleteText() > =09at flashx.textLayout.operations::DeleteTextOperation/doOperation() > =09at flashx.textLayout.operations::PasteOperation/doOperation() > =09at flashx.textLayout.edit::EditManager/doInternal() > =09at flashx.textLayout.edit::EditManager/doOperation() > =09at flashx.textLayout.edit::EditManager/pasteTextScrap() > =09at flashx.textLayout.edit::EditManager/editHandler() > =09at flashx.textLayout.container::ContainerController/editHandler() > =09at flashx.textLayout.container::TextContainerManager/editHandler() > =09at flash.desktop::NativeApplication/_onKeyDownBubble() -- This message was sent by Atlassian JIRA (v6.1.5#6160)