Bug 374421 - Infinite recursion if context provider is not set
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 @@
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);