diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java index 37403ef3f1e7..5ef3b4d0e82f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFrameImpl.java @@ -301,7 +301,7 @@ public class IdeFrameImpl extends JFrame implements IdeFrame, DataProvider { InsertOverwritePanel insertOverwritePanel = null; if (!SystemInfo.isMac) { - insertOverwritePanel = new InsertOverwritePanel(); + insertOverwritePanel = new InsertOverwritePanel(project); statusBar.addWidget(insertOverwritePanel, "after Encoding"); statusBar.addWidget(readOnlyAttributePanel, "after InsertOverwrite"); } else { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EditorBasedWidget.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EditorBasedWidget.java index e3e9348cadf9..69ed687f612b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EditorBasedWidget.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/EditorBasedWidget.java @@ -35,7 +35,7 @@ import org.jetbrains.annotations.Nullable; public abstract class EditorBasedWidget extends FileEditorManagerAdapter implements StatusBarWidget { protected StatusBar myStatusBar; - protected Project myProject; + private Project myProject; protected MessageBusConnection myConnection; @@ -45,9 +45,6 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme myConnection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, this); } - protected EditorBasedWidget() { - } - @Nullable protected final Editor getEditor() { final Project project = getProject(); @@ -55,7 +52,7 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme if (project == null) return null; - DockContainer c = DockManager.getInstance(myProject).getContainerFor(myStatusBar.getComponent()); + DockContainer c = DockManager.getInstance(project).getContainerFor(myStatusBar.getComponent()); EditorsSplitters splitters = null; if (c instanceof DockableEditorTabbedContainer) { splitters = ((DockableEditorTabbedContainer)c).getSplitters(); @@ -99,13 +96,7 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme @Nullable protected final Project getProject() { - if (myProject != null) return myProject; - - if (myStatusBar != null && myStatusBar.getFrame() != null) { - return myStatusBar.getFrame().getProject(); - } else { - return null; - } + return myProject; } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InsertOverwritePanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InsertOverwritePanel.java index 8ca63ae949b3..9ddd88d6db53 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InsertOverwritePanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InsertOverwritePanel.java @@ -36,6 +36,10 @@ import java.awt.event.MouseEvent; */ public class InsertOverwritePanel extends EditorBasedWidget implements StatusBarWidget.Multiframe, StatusBarWidget.TextPresentation { + public InsertOverwritePanel(Project project) { + super(project); + } + @NotNull public String ID() { return "InsertOverwrite"; @@ -47,7 +51,7 @@ public class InsertOverwritePanel extends EditorBasedWidget implements StatusBar @Override public StatusBarWidget copy() { - return new InsertOverwritePanel(); + return new InsertOverwritePanel(getProject()); }