Fixed Clearing shape export cache on changes

This commit is contained in:
Jindra Petřík
2022-11-14 23:09:43 +01:00
parent 61c5e6b5da
commit 03f1866f92
5 changed files with 20 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
### Fixed
- [#1869] Replace references now replaces all references, not just PlaceObject
- Handle StartSound tag as CharacterIdTag
- Clearing shape export cache on changes
## [16.3.1] - 2022-11-14
### Fixed

View File

@@ -2748,6 +2748,10 @@ public final class SWF implements SWFContainerItem, Timelined {
}
}
}
public void clearShapeCache() {
shapeExportDataCache.clear();
}
public void clearSoundCache() {
soundCache.clear();
@@ -2792,6 +2796,7 @@ public final class SWF implements SWFContainerItem, Timelined {
cyclicCharacters = null;
clearReadOnlyListCache();
clearImageCache();
clearShapeCache();
clearScriptCache();
clearAbcListCache();
clearAllStaticCache();
@@ -3171,6 +3176,7 @@ public final class SWF implements SWFContainerItem, Timelined {
updateCharacters();
clearImageCache();
clearShapeCache();
}
@Override
@@ -3193,6 +3199,7 @@ public final class SWF implements SWFContainerItem, Timelined {
resetTimelines(timelined);
updateCharacters();
clearImageCache();
clearShapeCache();
}
private void removeTagInternal(Timelined timelined, Tag tag, boolean removeDependencies) {
@@ -3376,6 +3383,7 @@ public final class SWF implements SWFContainerItem, Timelined {
assignExportNamesToSymbols();
assignClassesToSymbols();
clearImageCache();
clearShapeCache();
updateCharacters();
computeDependentCharacters();
computeDependentFrames();

View File

@@ -3616,6 +3616,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
setTagTreeSelectedNode(getCurrentTree(), newTag);
}
swf.clearImageCache();
swf.clearShapeCache();
} catch (IOException ex) {
logger.log(Level.SEVERE, "Invalid image", ex);
ViewMessages.showMessageDialog(this, translate("error.image.invalid"), translate("error"), JOptionPane.ERROR_MESSAGE);
@@ -3644,6 +3645,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
}
swf.clearImageCache();
swf.clearShapeCache();
} catch (IOException ex) {
logger.log(Level.SEVERE, "Invalid image", ex);
ViewMessages.showMessageDialog(MainPanel.this, translate("error.image.invalid"), translate("error"), JOptionPane.ERROR_MESSAGE);
@@ -3699,6 +3701,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
}
swf.clearImageCache();
swf.clearShapeCache();
} catch (IOException ex) {
logger.log(Level.SEVERE, "Invalid image", ex);
ViewMessages.showMessageDialog(this, translate("error.image.invalid"), translate("error"), JOptionPane.ERROR_MESSAGE);
@@ -3729,6 +3732,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
new ImageImporter().importImageAlpha(it, data);
SWF swf = it.getSwf();
swf.clearImageCache();
swf.clearShapeCache();
} catch (IOException ex) {
logger.log(Level.SEVERE, "Invalid alpha channel data", ex);
ViewMessages.showMessageDialog(this, translate("error.image.alpha.invalid"), translate("error"), JOptionPane.ERROR_MESSAGE);

View File

@@ -943,6 +943,7 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel
Tag tag = genericTagPanel.getTag();
SWF swf = tag.getSwf();
swf.clearImageCache();
swf.clearShapeCache();
swf.updateCharacters();
tag.getTimelined().resetTimeline();
swf.assignClassesToSymbols();

View File

@@ -1384,6 +1384,8 @@ public class TagTreeContextMenu extends JPopupMenu {
targetSwf.assignClassesToSymbols();
sourceSwf.clearImageCache();
targetSwf.clearImageCache();
sourceSwf.clearShapeCache();
targetSwf.clearShapeCache();
sourceSwf.updateCharacters();
targetSwf.updateCharacters();
sourceSwf.resetTimelines(sourceSwf);
@@ -1476,6 +1478,7 @@ public class TagTreeContextMenu extends JPopupMenu {
swf.assignExportNamesToSymbols();
swf.assignClassesToSymbols();
swf.clearImageCache();
swf.clearShapeCache();
swf.updateCharacters();
swf.computeDependentCharacters();
swf.computeDependentFrames();
@@ -2446,6 +2449,7 @@ public class TagTreeContextMenu extends JPopupMenu {
swf.assignExportNamesToSymbols();
swf.assignClassesToSymbols();
swf.clearImageCache();
swf.clearShapeCache();
swf.updateCharacters();
mainPanel.refreshTree(swf);
}
@@ -2926,6 +2930,7 @@ public class TagTreeContextMenu extends JPopupMenu {
sourceSwf.assignExportNamesToSymbols();
sourceSwf.assignClassesToSymbols();
sourceSwf.clearImageCache();
sourceSwf.clearShapeCache();
sourceSwf.updateCharacters();
sourceSwf.resetTimelines(sourceSwf);
}
@@ -2933,6 +2938,7 @@ public class TagTreeContextMenu extends JPopupMenu {
targetSwf.assignExportNamesToSymbols();
targetSwf.assignClassesToSymbols();
targetSwf.clearImageCache();
targetSwf.clearShapeCache();
targetSwf.updateCharacters();
targetSwf.resetTimelines(targetSwf);