From 9cb1944b5d68c051c66161c41f7cdd18acc3bdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Sat, 29 Jun 2013 18:34:04 +0200 Subject: [PATCH] Issue #153 out if memory handling --- .../jpexs/decompiler/flash/abc/types/MethodBody.java | 6 +++++- trunk/src/com/jpexs/decompiler/flash/gui/Main.java | 10 +++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java b/trunk/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java index f8c6ae3e8..43b8f735e 100644 --- a/trunk/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java +++ b/trunk/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java @@ -132,8 +132,12 @@ public class MethodBody implements Cloneable, Serializable { s = Highlighting.hilighMethod(s, this.method_info); } } catch (Exception ex) { - ex.printStackTrace(); + Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Exception during decompilation", ex); s = "//error:" + ex.toString(); + } catch (OutOfMemoryError er) { + Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Error during decompilation", er); + s = "//error:" + er.toString(); + System.gc(); } } return s; diff --git a/trunk/src/com/jpexs/decompiler/flash/gui/Main.java b/trunk/src/com/jpexs/decompiler/flash/gui/Main.java index 305d343f2..415eef07d 100644 --- a/trunk/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/trunk/src/com/jpexs/decompiler/flash/gui/Main.java @@ -181,11 +181,11 @@ public class Main { try (FileInputStream fis = new FileInputStream(file)) { InputStream bis = new BufferedInputStream(fis); locswf = new SWF(bis, new PercentListener() { - @Override - public void percent(int p) { - startWork("Reading SWF", p); - } - }, (Boolean) Configuration.getConfig("paralelSpeedUp", Boolean.TRUE)); + @Override + public void percent(int p) { + startWork("Reading SWF", p); + } + }, (Boolean) Configuration.getConfig("paralelSpeedUp", Boolean.TRUE)); locswf.addEventListener(new EventListener() { @Override public void handleEvent(String event, Object data) {