diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ArrayAction.java b/java/debugger/impl/src/com/intellij/debugger/actions/ArrayAction.java index 90c6bc0e79b4..6d6ff95d041c 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/ArrayAction.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/ArrayAction.java @@ -81,6 +81,7 @@ public abstract class ArrayAction extends DebuggerAction { final Renderer lastRenderer = descriptor.getLastRenderer(); if (lastRenderer instanceof ArrayRenderer) { ((JavaValue)container).setRenderer(newRenderer, node); + node.invokeNodeUpdate(() -> node.getTree().expandPath(node.getPath())); } else if (lastRenderer instanceof CompoundNodeRenderer) { final CompoundNodeRenderer compoundRenderer = (CompoundNodeRenderer)lastRenderer; diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java index 6b4dd1949f35..40cb2be97daa 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java @@ -623,7 +623,7 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV public void reBuild(final XValueNodeImpl node) { DebuggerManagerThreadImpl.assertIsManagerThread(); myCurrentChildrenStart = 0; - node.getTree().getLaterInvocator().offer(() -> { + node.invokeNodeUpdate(() -> { node.clearChildren(); computePresentation(node, XValuePlace.TREE); }); diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XDebuggerTreeNode.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XDebuggerTreeNode.java index 64e9e1aab706..38612af3c935 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XDebuggerTreeNode.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XDebuggerTreeNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -189,7 +189,7 @@ public abstract class XDebuggerTreeNode implements TreeNode, TreeSpeedSearch.Pat } } - void invokeNodeUpdate(Runnable runnable) { + public void invokeNodeUpdate(Runnable runnable) { myTree.getLaterInvocator().offer(runnable); } }