aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Besedin2012-03-20 10:22:19 (EDT)
committerOleg Besedin2012-03-20 10:22:19 (EDT)
commit0656794b83e5c12ff80369335c33440ff792b555 (patch)
treea4a7d0c5577951f145bb7950b69dab4d77028b9c
parent8e572d95f911993ec4176f139854fe62972b287b (diff)
downloadeclipse.platform.runtime-0656794b83e5c12ff80369335c33440ff792b555.zip
eclipse.platform.runtime-0656794b83e5c12ff80369335c33440ff792b555.tar.gz
eclipse.platform.runtime-0656794b83e5c12ff80369335c33440ff792b555.tar.bz2
Bug 374421 - Infinite recursion if context provider is not set
-rw-r--r--bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ContextObjectSupplier.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ContextObjectSupplier.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ContextObjectSupplier.java
index c40770c..f9ff76c 100644
--- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ContextObjectSupplier.java
+++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ContextObjectSupplier.java
@@ -217,7 +217,8 @@ public class ContextObjectSupplier extends PrimaryObjectSupplier {
static public ContextObjectSupplier getObjectSupplier(IEclipseContext context, IInjector injector) {
if (context == null)
return null;
- ContextObjectSupplier supplier = context.getLocal(ContextObjectSupplier.class);
+ // don't track this dependency if we are called in RaT
+ ContextObjectSupplier supplier = (ContextObjectSupplier) ((EclipseContext) context).internalGet((EclipseContext) context, ContextObjectSupplier.class.getName(), true);
if (supplier != null)
return supplier;
ContextObjectSupplier objectSupplier = new ContextObjectSupplier(context, injector);