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) >>> >