Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Redor2014-12-11 13:57:34 +0000
committerLaurent Redor2014-12-11 13:58:51 +0000
commitc6157c8a0958fc90cfdef8c56ee386ebfc30bf6e (patch)
tree9f7df245ed0806a2e56965211de7e52507075f76
parent888a5d559c7cff7615ed37295ed4dca709a48ed6 (diff)
downloadorg.eclipse.sirius-c6157c8a0958fc90cfdef8c56ee386ebfc30bf6e.tar.gz
org.eclipse.sirius-c6157c8a0958fc90cfdef8c56ee386ebfc30bf6e.tar.xz
org.eclipse.sirius-c6157c8a0958fc90cfdef8c56ee386ebfc30bf6e.zip
[454887] Dispose SessionEditorInput on tabel and tree closing
This avoid a memory leak caused by the INavigationHistory and EditorHistory that retain the IEditorInput. Bug: 454887 Change-Id: I040c8244a6356032aef9eea931c9e9d33a59c7ea Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
index d92df6a8c5..4106c171ad 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
@@ -49,6 +49,7 @@ import org.eclipse.sirius.tools.api.permission.DRepresentationPermissionStatusQu
import org.eclipse.sirius.ui.business.api.dialect.DialectEditor;
import org.eclipse.sirius.ui.business.api.dialect.DialectEditorDialogFactory;
import org.eclipse.sirius.ui.business.api.session.IEditingSession;
+import org.eclipse.sirius.ui.business.api.session.SessionEditorInput;
import org.eclipse.sirius.ui.business.api.session.SessionUIManager;
import org.eclipse.sirius.ui.business.internal.dialect.TreeEditorDialogFactory;
import org.eclipse.sirius.ui.tools.api.properties.DTablePropertySheetpage;
@@ -526,6 +527,11 @@ public abstract class AbstractDTreeEditor extends EditorPart implements DialectE
if (getTableViewer() != null) {
getTableViewer().dispose();
}
+ // Dispose the session editor input to keep the minimum information to
+ // be restore from the INavigationHistory and EditorHistory.
+ if (getEditorInput() instanceof SessionEditorInput) {
+ ((SessionEditorInput) getEditorInput()).dispose();
+ }
}
/**

Back to the top