diff --git a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java index 47cf9f8343c3..a6087b77996e 100644 --- a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java +++ b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java @@ -517,8 +517,8 @@ public abstract class SpeedSearchBase extends SpeedSear myPopupLayeredPane.add(mySearchPopup, JLayeredPane.POPUP_LAYER); if (myPopupLayeredPane == null) return; // See # 27482. Somewho it does happen... Point lPaneP = myPopupLayeredPane.getLocationOnScreen(); - Point componentP = myComponent.getLocationOnScreen(); - Rectangle r = myComponent.getVisibleRect(); + Point componentP = getComponentLocationOnScreen(); + Rectangle r = getComponentVisibleRect(); Dimension prefSize = mySearchPopup.getPreferredSize(); Window window = (Window)SwingUtilities.getAncestorOfClass(Window.class, myComponent); Point windowP; @@ -539,6 +539,14 @@ public abstract class SpeedSearchBase extends SpeedSear mySearchPopup.validate(); } + protected Rectangle getComponentVisibleRect() { + return myComponent.getVisibleRect(); + } + + protected Point getComponentLocationOnScreen() { + return myComponent.getLocationOnScreen(); + } + private class MyToolWindowManagerListener extends ToolWindowManagerAdapter { public void stateChanged() { manageSearchPopup(null);