Nope. That only works at the end of the last paragraph. When inserting at the end of an intermediate paragraph, the second span gets added to the beginning of the next paragraph.
On Sep 19, 2015, at 10:54 PM, Harbs <harbs.li...@gmail.com> wrote: > Hi Mihai, > > I think I just fixed it in commit 96a959d1b943630e68a826a1cf1fc804c73e8b95. > > Please confirm. > > On Sep 19, 2015, at 10:19 PM, Harbs <harbs.li...@gmail.com> wrote: > >> Thanks for the reminder. >> >> I will try to look at this tomorrow. >> >> Harbs >> >> On Sep 19, 2015, at 10:07 PM, Mihai Chira <mihai.ch...@gmail.com> wrote: >> >>> bump >>> On 9 Sep 2015 18:37, "Mihai Chira" <mihai.ch...@gmail.com> wrote: >>> >>>> Hey guys (addressed to Piotr and Harbs), >>>> >>>> if you have time to take a look at this, it would really help. I have >>>> a feeling you'd have much better ideas on how to go forward with the >>>> fix. >>>> >>>> Many thanks! >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: Mihai Chira (JIRA) <j...@apache.org> >>>> Date: 9 September 2015 at 18:35 >>>> Subject: [jira] [Comment Edited] (FLEX-34807) TLF - EditManager - >>>> TextFlowEdit -insertTextScrap >>>> To: iss...@flex.apache.org >>>> >>>> >>>> >>>> [ >>>> https://issues.apache.org/jira/browse/FLEX-34807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14737128#comment-14737128 >>>> ] >>>> >>>> Mihai Chira edited comment on FLEX-34807 at 9/9/15 4:35 PM: >>>> ------------------------------------------------------------ >>>> >>>> *Investigation update*: this bug was (highly likely) introduced by >>>> commit [33df98ab9d2c69c84d4de6ab2ae969f9c5f93e35| >>>> https://fisheye6.atlassian.com/changelog/flex-tlf?cs=33df98ab9d2c69c84d4de6ab2ae969f9c5f93e35 >>>> ] >>>> on the 5th Oct 2014. If I comment out the last if clause of >>>> {{ParagraphElement.ensureTerminatorAfterReplace()}}, which was added >>>> by that commit (and subsequently edited into its current form), the >>>> bug disappears. That's because the algorithm in >>>> {{TextFlowEdit.insertTextScrap()}} requires at least one >>>> FlowLeafElement before which to add the pasted contents, and before >>>> this bug was introduced, that used to be >>>> {{ParagraphElement.terminatorSpan}}. But since the commit the >>>> terminatorSpan has been merged into the previous span. >>>> This seems to imply that there is an expectation in >>>> {{TextFlowEdit.insertTextScrap()}} that {{destinationLeaf}} should >>>> never be null (despite the null check in the line {code}insertPosition >>>> = destinationLeaf ? destinationLeaf.getAbsoluteStart() : >>>> textFlow.textLength - 1;{code}. >>>> I imagine that just commenting out the code is not a viable solution, >>>> as it will break other functionality. So we'll need either [~harbs] or >>>> [~pete21] to throw in some thoughts, if they have the time. Much >>>> appreciated. >>>> >>>> >>>> was (Author: evolverine): >>>> *Investigation update*: this bug was (highly likely) introduced by >>>> commit [33df98ab9d2c69c84d4de6ab2ae969f9c5f93e35| >>>> https://fisheye6.atlassian.com/changelog/flex-tlf?cs=33df98ab9d2c69c84d4de6ab2ae969f9c5f93e35 >>>> ] >>>> on the 5th Oct 2014 by [~harbs]. If I comment out the last if clause >>>> of {{ParagraphElement.ensureTerminatorAfterReplace()}}, which was >>>> added by that commit (and subsequently edited into its current form), >>>> the bug disappears. That's because the algorithm in >>>> {{TextFlowEdit.insertTextScrap()}} requires at least one >>>> FlowLeafElement before which to add the pasted contents, and before >>>> this bug was introduced, that used to be >>>> {{ParagraphElement.terminatorSpan}}. But since the commit the >>>> terminatorSpan has been merged into the previous span. >>>> This seems to imply that there is an expectation in >>>> {{TextFlowEdit.insertTextScrap()}} that {{destinationLeaf}} should >>>> never be null (despite the null check in the line {code}insertPosition >>>> = destinationLeaf ? destinationLeaf.getAbsoluteStart() : >>>> textFlow.textLength - 1;{code}. >>>> I imagine that just commenting out the code is not a viable solution, >>>> as it will break other functionality. So we'll need either [~harbs] or >>>> [~pete21] to throw in some thoughts, if they have the time. Much >>>> appreciated. >>>> >>>>> TLF - EditManager - TextFlowEdit -insertTextScrap >>>>> ------------------------------------------------- >>>>> >>>>> Key: FLEX-34807 >>>>> URL: https://issues.apache.org/jira/browse/FLEX-34807 >>>>> Project: Apache Flex >>>>> Issue Type: Bug >>>>> Components: Spark: RichEditableText >>>>> Affects Versions: Apache Flex 4.12.0, Apache Flex 4.13.0, Apache Flex >>>> 4.14.0 >>>>> Reporter: Robbyn Gerhardt >>>>> Assignee: Mihai Chira >>>>> Labels: editmanager, richeditabletext, tlf >>>>> Attachments: Bildschirmfoto 2015-03-19 um 15.28.19.png, >>>> Bildschirmfoto 2015-03-20 um 09.06.47.png, TextEditorTest.air, >>>> TextEditorTest.fxp >>>>> >>>>> >>>>> 1. Copy Formatted text from RichEditableText Editor, see Image >>>>> 2. Insert Formatted text from the clipboard with Ctrl + V in the editor. >>>> Then comes the error. >>>>> TypeError: Error #1009: Cannot access a property or method of a null >>>> object reference. >>>>> at >>>> flashx.textLayout.edit::TextFlowEdit$/insertTextScrap()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/edit/TextFlowEdit.as:244] >>>>> at >>>> flashx.textLayout.operations::PasteOperation/doOperation()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/operations/PasteOperation.as:102] >>>>> at >>>> flashx.textLayout.edit::EditManager/doInternal()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/edit/EditManager.as:767] >>>>> at >>>> flashx.textLayout.edit::EditManager/doOperation()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/edit/EditManager.as:647] >>>>> at >>>> flashx.textLayout.edit::EditManager/pasteTextScrap()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/edit/EditManager.as:1806] >>>>> at >>>> flashx.textLayout.edit::EditManager/editHandler()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/edit/EditManager.as:270] >>>>> at >>>> flashx.textLayout.container::ContainerController/editHandler()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/container/ContainerController.as:2739] >>>>> at >>>> flashx.textLayout.container::TextContainerManager/editHandler()[/Users/erik/Documents/ApacheFlex/git/flex-tlf/textLayout/src/flashx/textLayout/container/TextContainerManager.as:1876] >>>>> at flash.display::NativeMenuItem/select() >>>>> at flash.display::NativeMenuItem/performKeyEquivalent() >>>>> at flash.display::NativeMenu/_menuItemPerformKeyEquivalent() >>>>> at flash.display::NativeMenu/performKeyEquivalent() >>>>> at flash.display::NativeMenuItem/_menuPerformKeyEquivalent() >>>>> at flash.display::NativeMenuItem/performKeyEquivalent() >>>>> at flash.display::NativeMenu/_menuItemPerformKeyEquivalent() >>>>> at flash.display::NativeMenu/performKeyEquivalent() >>>>> at flash.desktop::NativeApplication/_menuPerformKeyEquivalent() >>>>> at flash.desktop::NativeApplication/_onKeyDownCapture() >>>> >>>> >>>> >>>> -- >>>> This message was sent by Atlassian JIRA >>>> (v6.3.4#6332) >>>> >> >