diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/WatchInplaceEditor.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/WatchInplaceEditor.java index 6804679e7da3..58aa30fe2d84 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/WatchInplaceEditor.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/frame/WatchInplaceEditor.java @@ -66,6 +66,7 @@ public class WatchInplaceEditor extends XDebuggerTreeInplaceEditor { if (myOldNode != null && index != -1) { myWatchesView.addWatchExpression(myOldNode.getExpression(), index, false); } + getTree().setSelectionRow(index); } @Override @@ -77,6 +78,7 @@ public class WatchInplaceEditor extends XDebuggerTreeInplaceEditor { if (!XDebuggerUtilImpl.isEmptyExpression(expression) && index != -1) { myWatchesView.addWatchExpression(expression, index, false); } + getTree().setSelectionRow(index); } @Override diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/WatchesRootNode.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/WatchesRootNode.java index 2e4e168b8d84..1421426809c5 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/WatchesRootNode.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/WatchesRootNode.java @@ -106,6 +106,7 @@ public class WatchesRootNode extends XDebuggerTreeNode { } private void replaceNode(final WatchNode oldNode, final WatchNode newNode) { + int[] selectedRows = getTree().getSelectionRows(); for (int i = 0; i < myChildren.size(); i++) { WatchNode child = myChildren.get(i); if (child == oldNode) { @@ -118,6 +119,7 @@ public class WatchesRootNode extends XDebuggerTreeNode { else { fireNodeStructureChanged(newNode); } + getTree().setSelectionRows(selectedRows); return; } }