diff options
author | jonas | 2013-06-20 09:35:10 +0000 |
---|---|---|
committer | jonas | 2013-06-20 09:35:10 +0000 |
commit | 076515150145c0923691200014b54b09f586e621 (patch) | |
tree | 7d7a66475dca1d86a074f01b37176aa86c596945 | |
parent | 2db833285f57fe09df0f4492cc33fd29a5dc613a (diff) | |
download | org.eclipse.e4.tools-I20130624-2200.tar.gz org.eclipse.e4.tools-I20130624-2200.tar.xz org.eclipse.e4.tools-I20130624-2200.zip |
Fixed 386329R0_14I20130624-2200I20130623-2200I20130622-2200I20130621-2200I20130620-2200I20130620-0800
2 files changed, 10 insertions, 3 deletions
diff --git a/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/internal/PartHelper.java b/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/internal/PartHelper.java index f767bf10..cbe2d201 100644 --- a/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/internal/PartHelper.java +++ b/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/internal/PartHelper.java @@ -42,7 +42,7 @@ public class PartHelper { Object instance = site.getService(clazz); Method m = clazz.getMethod("getContext", new Class[0]); IEclipseContext ctx = (IEclipseContext) m.invoke(instance); - IEclipseContext rv = ctx.createChild(); + IEclipseContext rv = ctx; while( ctx.getParent() != null ) { ctx = ctx.getParent(); } diff --git a/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/parts/DIEditorPart.java b/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/parts/DIEditorPart.java index c135bb13..0c99e15f 100644 --- a/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/parts/DIEditorPart.java +++ b/bundles/org.eclipse.e4.tools.compat/src/org/eclipse/e4/tools/compat/parts/DIEditorPart.java @@ -148,8 +148,15 @@ public abstract class DIEditorPart<C> extends EditorPart implements @Override public void dispose() { - context.dispose(); - context = null; + IEclipseContext parentContext = (IEclipseContext) getSite().getService( + IEclipseContext.class); + // Check if running in 3.x, otherwise there was no dedicated context + // created + if (parentContext + .get("org.eclipse.e4.ui.workbench.IPresentationEngine") != null) { + context.dispose(); + context = null; + } super.dispose(); } } |