diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index 9eced8b4fc92..aa2524cf425d 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -100,10 +100,14 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo public static final Key CONSOLE_VIEW_IN_EDITOR_VIEW = Key.create("CONSOLE_VIEW_IN_EDITOR_VIEW"); - static { + private static boolean ourTypedHandlerInitialized; + + private static synchronized void initTypedHandler() { + if (ourTypedHandlerInitialized) return; final EditorActionManager actionManager = EditorActionManager.getInstance(); final TypedAction typedAction = actionManager.getTypedAction(); typedAction.setupHandler(new MyTypedHandler(typedAction.getHandler())); + ourTypedHandlerInitialized = true; } @@ -281,6 +285,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo boolean usePredefinedMessageFilter) { super(new BorderLayout()); + initTypedHandler(); myIsViewer = viewer; myState = initialState; myPsiDisposedCheck = new DisposedPsiManagerCheck(project); @@ -498,19 +503,6 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo return this; } - /** - * Adds transparent (actually, non-opaque) component over console. - * It will be as big as console. Use it to draw on console because it does not prevent user from console usage. - * - * @param component component to add - */ - public final void addLayerToPane(@NotNull final JComponent component) { - getComponent(); // Make sure component exists - component.setOpaque(false); - component.setVisible(true); - myJLayeredPane.add(component, 0); - } - protected void initConsoleEditor() { myEditor = createConsoleEditor(); registerConsoleEditorActions();