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