If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.
List of issues#2178 Content is not visually updated after using Undo
Author: STA20
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: Sprites
State: closed
For sprites only: Undo will not revert visually content after you change anything about a
PlaceObject.
However if you save the file after using Undo, then reload it, it is apparent that Undo
did work internally.
This bug is present since several major versions ago.
This should be fixed in nightly 2755,
try it.
State: new→upgraded
Tested on nightly 2756.
It now works correctly if Undo is used on sprite's context menu, but still doesn't update
if used on PlaceObject's context menu.
It should be fixed in nightly 2757.
PlaceObject's Undo still doesn't work (I get an exception now).
I can't reproduce it.
Could you copy paste the exception here?
Or better - add sample SWF where this happens and describe steps you do.
State: upgraded→returned
SEVERE Uncaught exception in thread: AWT-EventQueue-0
java.lang.ArrayIndexOutOfBoundsException: 4029330
at com.jpexs.decompiler.flash.tags.Tag.isLongOriginal(Tag.java:549)
at com.jpexs.decompiler.flash.tags.Tag.getOriginalDataLength(Tag.java:545)
at com.jpexs.decompiler.flash.tags.Tag.getOriginalData(Tag.java:532)
at com.jpexs.decompiler.flash.tags.Tag.undo(Tag.java:463)
at
com.jpexs.decompiler.flash.gui.tagtree.TagTreeContextMenu.undoTagActionPerformed(TagTreeCo
ntextMenu.java:3484)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
When I first tried I would always get this exception, but after more testing now it seems
inconsistent: sometimes it works fine, sometimes it doesn't. I will attach a flash when I
find the exact steps to reproduce it.
I think I found it. Exception occurs when these steps are followed:
1. Change anything within a sprite (I delete a placeobject)
2. Use Undo from sprite's context menu
3. Change anything within a PlaceObject in the same sprite (I do it with one of the flags
or scale or X/Y)
4. Use Undo from PlaceObject's context menu
So I realy managed to trigger this before because I was testing how both Undo's worked.
This works on every flash I tried, so I'll skip on attaching a file again.
It should be fixed in nightly 2759,
try it.
State: returned→upgraded
State: upgraded→closed