From 1ff942240c663b5eb2d2157aefee1cafb2c24dbf Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 1 Mar 2018 12:02:54 +0300 Subject: [PATCH] IDEA-187482 ToolWindow header becomes active when context menu is invoked on editor --- .../intellij/openapi/wm/impl/ToolWindowImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java index 4af8e908f275..dedbb3b089ae 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java @@ -1,4 +1,4 @@ -// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.openapi.wm.impl; import com.intellij.ide.UiActivity; @@ -6,7 +6,9 @@ import com.intellij.ide.UiActivityMonitor; import com.intellij.ide.impl.ContentManagerWatcher; import com.intellij.notification.EventLog; import com.intellij.openapi.actionSystem.ActionGroup; +import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.impl.ActionManagerImpl; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.components.ServiceManager; @@ -25,7 +27,6 @@ import com.intellij.ui.content.ContentFactory; import com.intellij.ui.content.ContentManager; import com.intellij.ui.content.impl.ContentImpl; import com.intellij.util.ObjectUtils; -import java.util.HashSet; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.update.Activatable; import com.intellij.util.ui.update.UiNotifyConnector; @@ -40,6 +41,7 @@ import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.Set; /** @@ -205,6 +207,13 @@ public final class ToolWindowImpl implements ToolWindowEx { if (frame == null || !frame.isActive()) return false; if (myToolWindowManager.isEditorComponentActive()) return false; + ActionManager actionManager = ActionManager.getInstance(); + if (actionManager instanceof ActionManagerImpl + && !((ActionManagerImpl)actionManager).isActionPopupStackEmpty() + && !((ActionManagerImpl)actionManager).isToolWindowContextMenuVisible()) { + return false; + } + return myToolWindowManager.isToolWindowActive(myId) || myDecorator != null && myDecorator.isFocused(); }