diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.kt index 61e7f3d5a565..589c0f7bdff4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.kt @@ -8,7 +8,6 @@ import com.intellij.ide.actions.* import com.intellij.ide.impl.ContentManagerWatcher import com.intellij.idea.ActionsBundle import com.intellij.internal.statistic.eventLog.EventPair -import com.intellij.internal.statistic.eventLog.FeatureUsageData import com.intellij.notification.EventLog import com.intellij.openapi.Disposable import com.intellij.openapi.actionSystem.* @@ -321,6 +320,10 @@ internal class ToolWindowImpl(val toolWindowManager: ToolWindowManagerImpl, if (isAvailable != value) { isAvailable = value toolWindowManager.toolWindowPropertyChanged(this, ToolWindowProperty.AVAILABLE) + + if (!value) { + contentUi?.dropCaches() + } } } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/TabContentLayout.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/TabContentLayout.java index f68ea22a9182..0bb509662301 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/TabContentLayout.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/TabContentLayout.java @@ -87,6 +87,10 @@ final class TabContentLayout extends ContentLayout implements MorePopupAware { return myLastLayout.moreRect; } + public void dropCaches() { + myLastLayout = null; + } + @Override public boolean canShowMorePopup() { return getMoreRect() != null; diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java index 0029993fe2b8..2e5662cfba59 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ToolWindowContentUi.java @@ -225,6 +225,10 @@ public final class ToolWindowContentUi implements ContentUI, DataProvider { contentComponent.repaint(); } + public void dropCaches() { + tabsLayout.dropCaches(); + } + private void rebuild() { getCurrentLayout().rebuild(); getCurrentLayout().update();