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

Justin Mclean commented on FLEX-34371:
--------------------------------------

Do previous version of Flex such as Adobe Flex 4.6 give the same issue? Just 
want to know if it's a regression issue or not.

> how TagEncoder handles duplicate define* tags
> ---------------------------------------------
>
>                 Key: FLEX-34371
>                 URL: https://issues.apache.org/jira/browse/FLEX-34371
>             Project: Apache Flex
>          Issue Type: Bug
>    Affects Versions: Apache Flex 4.12.0
>            Reporter: Guest
>         Attachments: test.swf
>
>
> Suppose there are two DefineEditText tags that are the same by .equals, and a 
> TagEncoder handles them. This writes them both to the SWF, but assigns them 
> the same character ID. Adobe's Flash player can load the SWF fine, but it 
> causes swfdump to crash with an exception like the following:
> {code}
> Exception in thread "main" java.lang.IllegalArgumentException: symbol 154 
> redefined by identical tag
>         at flash.swf.Dictionary.add(Dictionary.java:142)
>         at flash.swf.TagDecoder.decodeDefineEditText(TagDecoder.java:1160)
>         at flash.swf.TagDecoder.decodeTag(TagDecoder.java:319)
>         at flash.swf.TagDecoder.decodeTags(TagDecoder.java:194)
>         at flash.swf.TagDecoder.parse(TagDecoder.java:142)
>         at flash.swf.tools.SwfxPrinter.dumpSwf(SwfxPrinter.java:2318)
>         at flash.swf.tools.SwfxPrinter.main(SwfxPrinter.java:2225)
> {code}
> Actual result:
> defineEditText(tag) in TagEncoder calls
> {code:java}
> int id = dict.add(tag);
> {code}
> When serializing the second DefineEditText, the Dictionary finds the first 
> one and returns its ID. Then, the defineEditText(tag) method writes the 
> second copy with the first one's ID.
> Expected result:
> either
> - it writes the duplicate with a new ID or
> - it does not write anything and uses the first copy's ID for references to 
> the second.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to