summaryrefslogtreecommitdiff
path: root/enigma-swing/src/main
diff options
context:
space:
mode:
authorGravatar Gegy2020-07-06 12:34:17 +0200
committerGravatar GitHub2020-07-06 12:34:17 +0200
commitc16f7d7a14013d623cef5c4b88213f3d17a2ac6d (patch)
tree24e302fb1fa781051c018dacf27e05b6bd1924e2 /enigma-swing/src/main
parentMake class loading more flexible (#277) (diff)
downloadenigma-c16f7d7a14013d623cef5c4b88213f3d17a2ac6d.tar.gz
enigma-c16f7d7a14013d623cef5c4b88213f3d17a2ac6d.tar.xz
enigma-c16f7d7a14013d623cef5c4b88213f3d17a2ac6d.zip
Handle source export failures (#289)
* handle decompile failures * allow decompiling as stream * Use TRACE_AS_SOURCE in gui source export
Diffstat (limited to 'enigma-swing/src/main')
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
index 2dc1d77a..b62e9cf9 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
@@ -189,9 +189,14 @@ public class GuiController implements ClientPacketHandler {
189 189
190 return ProgressDialog.runOffThread(this.gui.getFrame(), progress -> { 190 return ProgressDialog.runOffThread(this.gui.getFrame(), progress -> {
191 EnigmaProject.JarExport jar = project.exportRemappedJar(progress); 191 EnigmaProject.JarExport jar = project.exportRemappedJar(progress);
192 EnigmaProject.SourceExport source = jar.decompile(progress, chp.getDecompilerService()); 192 jar.decompileStream(progress, chp.getDecompilerService(), EnigmaProject.DecompileErrorStrategy.TRACE_AS_SOURCE)
193 193 .forEach(source -> {
194 source.write(path, progress); 194 try {
195 source.writeTo(source.resolvePath(path));
196 } catch (IOException e) {
197 e.printStackTrace();
198 }
199 });
195 }); 200 });
196 } 201 }
197 202