[ 
https://issues.apache.org/jira/browse/FLEX-34744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14313219#comment-14313219
 ] 

Alessandro Palombaro commented on FLEX-34744:
---------------------------------------------

Thanks for looking into it. I did some more testing between the altered 
behavior between 4.14.0 and 4.12.1 (Sorry but don't have 4.13 readily available 
on this machine) and 4.14.0 removes/merges the original terminator regardless 
of formatting. 

It not only replaces the terminator with its own but it neglects to carry over 
any properties set on the previous terminator such as userStyles, styles, id 
(which is what causes our application to break as we used these empty spans to 
search the flow)

Is there any reason why the old behavior can't be maintained? In 4.12.1 adding 
a new span to the parent seems to just shift the terminator reference to the 
new span without 'merging' the existing span.

It might not make sense... but TLF previously had this "non-sense" behavior 
which existing applications have been built around. I can easily find ways to 
modify our existing applications to function with the updated behavior but I 
also imagine I'm not the only one to have their application break from this 
change. If it equates to a large effort on your behalf (and potentially results 
in tables no longer working) then I'm happy to just accept the change and leave 
this ticket here for reference in-case other people come across the change.

> TextFlowElement parent nulled when addChild method used via parent reference
> ----------------------------------------------------------------------------
>
>                 Key: FLEX-34744
>                 URL: https://issues.apache.org/jira/browse/FLEX-34744
>             Project: Apache Flex
>          Issue Type: Bug
>    Affects Versions: Apache Flex 4.14.0
>            Reporter: Alessandro Palombaro
>            Assignee: Harbs
>
> Example application below. This worked fine in version 4.13.0
> {code:xml}
> <?xml version="1.0" encoding="utf-8"?>
> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
>                xmlns:s="library://ns.adobe.com/flex/spark"
>                applicationComplete="_this_applicationCompleteHandler(event)" 
> frameRate="60"
>                backgroundAlpha="0">
>       <fx:Script>
>               <![CDATA[
>               import flashx.textLayout.elements.FlowElement;
>               import flashx.textLayout.elements.SpanElement;
>               import flashx.textLayout.elements.TextFlow;
>               import mx.events.FlexEvent;
>               import spark.utils.TextFlowUtil;
>               protected function 
> _this_applicationCompleteHandler(event:FlexEvent):void
>               {
>                       var flow:TextFlow = TextFlowUtil.importFromXML(xml);
>                       var span:SpanElement = new SpanElement();
>                       var target:FlowElement = 
> flow.getElementByID("SpanElementId") as SpanElement;
>                       // target.parent is instance of ParagraphElement
>                       trace("EngineTesting._this_applicationCompleteHandler", 
> target.parent);
>                       target.parent.addChild(span);
>                       // target.parent has been set to null when it should 
> still reference the ParagraphElement
>                       trace("EngineTesting._this_applicationCompleteHandler", 
> target.parent);
>                       richText.textFlow = flow;
>               }
>               ]]>
>       </fx:Script>
>       <fx:Declarations>
>               <fx:XML id="xml">
>                       <div>
>                               <p><span id="SpanElementId" uid="5501" 
> width="250" height="180"/></p>
>                               <p>Hello World.</p>
>                       </div>
>               </fx:XML>
>       </fx:Declarations>
>       
>       <s:RichText width="100%" id="richText"/>
>       
> </s:Application>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to