diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java index f256405b29e1..b7d0331a9517 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java @@ -695,6 +695,27 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac return (ActionGroup)myActionManager.getAction(SETTINGS); } + public ContentManager getContentManager(Content content) { + if (hasContent(myManager, content)) { + return myManager; + } + for (RunnerContentUi child : myChildren) { + if (hasContent(child.myManager, content)) { + return child.myManager; + } + } + return myManager; + } + + private static boolean hasContent(ContentManager manager, Content content) { + for (Content c : manager.getContents()) { + if (c == content) { + return true; + } + } + return false; + } + private static void moveFollowingTabs(int index, final JBRunnerTabs tabs) { for (TabInfo info : tabs.getTabs()) { final TabImpl tab = getTabFor(info); diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java index 584d919fb087..c850e815f0e2 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java @@ -169,7 +169,11 @@ public class RunnerLayoutUiImpl implements Disposable, RunnerLayoutUi, LayoutSta public ActionCallback selectAndFocus(@Nullable final Content content, boolean requestFocus, final boolean forced, boolean implicit) { if (content == null) return new ActionCallback.Rejected(); - return getContentManager().setSelectedContent(content, requestFocus || shouldRequestFocus(), forced, implicit); + return getContentManager(content).setSelectedContent(content, requestFocus || shouldRequestFocus(), forced, implicit); + } + + private ContentManager getContentManager(@NotNull Content content) { + return myContentUI.getContentManager(content); } private boolean shouldRequestFocus() {