diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/SingleContentLayout.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/SingleContentLayout.kt index 929638b9186d..d44a82cae63e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/SingleContentLayout.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/SingleContentLayout.kt @@ -17,6 +17,7 @@ import com.intellij.openapi.ui.popup.PopupStep import com.intellij.openapi.ui.popup.util.BaseListPopupStep import com.intellij.openapi.util.* import com.intellij.openapi.wm.ex.ToolWindowEx +import com.intellij.openapi.wm.impl.InternalDecoratorImpl import com.intellij.ui.MouseDragHelper import com.intellij.ui.PopupHandler import com.intellij.ui.awt.RelativePoint @@ -25,6 +26,7 @@ import com.intellij.ui.components.panels.NonOpaquePanel import com.intellij.ui.content.AlertIcon import com.intellij.ui.content.Content import com.intellij.ui.content.ContentManager +import com.intellij.ui.content.impl.ContentManagerImpl import com.intellij.ui.tabs.* import com.intellij.ui.tabs.impl.JBTabsImpl import com.intellij.ui.tabs.impl.MorePopupAware @@ -77,7 +79,11 @@ internal class SingleContentLayout( } private fun getSingleContentOrNull(): Content? { - return if (myTabs.size == 1) myTabs[0].content else null + return findTopLevelContentManager()?.contentsRecursively?.singleOrNull() + } + + private fun findTopLevelContentManager(): ContentManagerImpl? { + return InternalDecoratorImpl.findTopLevelDecorator(myUi.component)?.contentManager as? ContentManagerImpl } private fun tryUpdateContentView() {