diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ResizeToolWindowAction.java b/platform/platform-impl/src/com/intellij/ide/actions/ResizeToolWindowAction.java index e1af2b50b689..d617ffbaa59e 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ResizeToolWindowAction.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ResizeToolWindowAction.java @@ -93,7 +93,7 @@ public abstract class ResizeToolWindowAction extends AnAction implements DumbAwa window = mgr.getToolWindow(mgr.getActiveToolWindowId()); } - if (window == null || !window.isAvailable() || !window.isVisible() || window.getType() == ToolWindowType.FLOATING) { + if (window == null || !window.isAvailable() || !window.isVisible() || window.getType() == ToolWindowType.FLOATING || !window.isActive()) { setDisabled(e); return; } 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 a5ecf97f5c77..2890cf19d18a 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 @@ -131,6 +131,7 @@ public final class ToolWindowImpl implements ToolWindowEx { public final boolean isActive() { ApplicationManager.getApplication().assertIsDispatchThread(); + if (myToolWindowManager.isEditorComponentActive()) return false; return myToolWindowManager.isToolWindowActive(myId) || (myDecorator != null && myDecorator.isFocused()); } diff --git a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java index 5e76d9d440d6..61fb6aaa44e9 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java @@ -1093,7 +1093,11 @@ public class AbstractPopup implements JBPopup { myForcedLocation = screenPoint; } else { - moveTo(myContent, screenPoint, myLocateByContent ? myHeaderPanel.getPreferredSize() : null); + Insets insets = myPopupBorder.getBorderInsets(myContent); + if (insets == null) { + insets = new Insets(0, 0, 0, 0); + } + moveTo(myContent, new Point(screenPoint.x - insets.left, screenPoint.y - insets.top), myLocateByContent ? myHeaderPanel.getPreferredSize() : null); } }