diff --git a/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java b/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java index 5821bd92ed2c..034017a49c22 100644 --- a/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java +++ b/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java @@ -129,4 +129,8 @@ public class RendererConfiguration implements Cloneable, JDOMExternalizable { public int getRendererCount() { return myRepresentationNodes.size(); } + + public boolean contains(NodeRenderer renderer) { + return myRepresentationNodes.contains(renderer); + } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java index 7ecebbcb3f33..757df1460383 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java @@ -86,6 +86,7 @@ public class CustomFieldInplaceEditor extends XDebuggerTreeInplaceEditor { Renderer lastRenderer = descriptor.getLastRenderer(); if (lastRenderer instanceof CompoundNodeRenderer && + NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)lastRenderer) && !(((CompoundNodeRenderer)lastRenderer).getChildrenRenderer() instanceof ExpressionChildrenRenderer)) { ((CompoundNodeRenderer)lastRenderer).setChildrenRenderer(enumerationChildrenRenderer); } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java index c2f606d7daa7..ca75cbbbd69f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java @@ -22,6 +22,7 @@ import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluationContext; import com.intellij.debugger.engine.evaluation.TextWithImports; import com.intellij.debugger.impl.descriptors.data.UserExpressionData; +import com.intellij.debugger.settings.NodeRendererSettings; import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl; import com.intellij.debugger.ui.tree.*; import com.intellij.openapi.util.InvalidDataException; @@ -149,7 +150,8 @@ public final class EnumerationChildrenRenderer extends TypeRenderer implements C @Nullable public static EnumerationChildrenRenderer getCurrent(ValueDescriptorImpl valueDescriptor) { Renderer renderer = valueDescriptor.getLastRenderer(); - if (renderer instanceof CompoundNodeRenderer) { + if (renderer instanceof CompoundNodeRenderer && + NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)renderer)) { ChildrenRenderer childrenRenderer = ((CompoundNodeRenderer)renderer).getChildrenRenderer(); if (childrenRenderer instanceof EnumerationChildrenRenderer) { return (EnumerationChildrenRenderer)childrenRenderer;