diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b7b000f7..32d69e787 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file. - [#1839] Sprite frames exported incorrectly and repeating - [#1838] AS3 - Properly handling of long unsigned values, hex values, default uint values etc. - [#1847] shape viewer and PDF exporter - correct drawing of pure vertical/horizontal shapes (zero width/height) +- Slow zooming/redrawing on action when SWF has low framerate ### Changed - AS3 integer values are internally (e.g. in the lib) handled as java int type instead of long. diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index b5ab16dc8..d5546348b 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -1399,8 +1399,14 @@ public final class ImagePanel extends JPanel implements MediaDisplay { } private synchronized void redraw() { - if (timer == null && timelined != null) { + final Timer thisTimer = timer; + if (timelined == null) { + return; + } + if (thisTimer == null) { startTimer(timelined.getTimeline(), false); + } else { + drawFrame(thisTimer, true); } } @@ -2207,7 +2213,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { first = false; CharacterTag c = swf.getCharacter(ds.characterId); ret.append(c.toString()); - if(ds.depth > 0) { + if (ds.depth > 0) { ret.append(" "); ret.append(AppStrings.translate("imagePanel.depth")); ret.append(" ");