From 9617449de82172c14129830cb90fcfb79633da90 Mon Sep 17 00:00:00 2001 From: bancika Date: Sun, 7 Feb 2021 19:04:49 +0100 Subject: [PATCH] Fixed a major memory leak when using Undo functionality --- diylc/diylc-core/src/org/diylc/presenter/Presenter.java | 5 ++--- diylc/diylc-core/src/org/diylc/presenter/update.xml | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index d53b857c..637ce91b 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -312,6 +312,7 @@ public class Presenter implements IPlugInPort { this.currentProject = project; drawingManager.clearComponentAreaMap(); drawingManager.clearContinuityArea(); + DrawingCache.Instance.clear(); updateSelection(EMPTY_SELECTION); messageDispatcher.dispatchMessage(EventType.PROJECT_LOADED, project, freshStart, filename); messageDispatcher.dispatchMessage(EventType.REPAINT); @@ -326,8 +327,7 @@ public class Presenter implements IPlugInPort { Project project = new Project(); instantiationManager.fillWithDefaultProperties(project, null); loadProject(project, true, null); - projectFileManager.startNewFile(); - DrawingCache.Instance.clear(); + projectFileManager.startNewFile(); } catch (Exception e) { LOG.error("Could not create new file", e); view.showMessage(ERROR_NEW, ERROR, IView.ERROR_MESSAGE); @@ -353,7 +353,6 @@ public class Presenter implements IPlugInPort { view.showMessage(builder.toString(), WARNING, IView.WARNING_MESSAGE); } addToRecentFiles(fileName); - DrawingCache.Instance.clear(); } catch (Exception ex) { LOG.error("Could not load file", ex); String errorMessage = "Could not open file " + fileName + ". Check the log for details."; diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index d9fe16d7..41c91647 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3530,6 +3530,10 @@ IMPROVEMENT Slightly fancier splash screen :) + + BUG_FIX + Fixed a major memory leak when using Undo functionality + https://github.com/bancika/diy-layout-creator/releases