IDEA-127739 Navigation Tab
authorVassiliy.Kudryashov <Vassiliy.Kudryashov@jetbrains.com>
Thu, 4 Sep 2014 08:43:57 +0000 (12:43 +0400)
committerVassiliy.Kudryashov <Vassiliy.Kudryashov@jetbrains.com>
Thu, 4 Sep 2014 17:33:56 +0000 (21:33 +0400)
Stage 5 NPE fix

platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java

index 683341f985a68a376dd58ade188cb4e2a5536586..8a224c9bd0921b77f8e6e86625ba9640a7177917 100644 (file)
@@ -176,12 +176,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
 
   public Set<EditorsSplitters> getAllSplitters() {
     HashSet<EditorsSplitters> all = new LinkedHashSet<EditorsSplitters>();
 
   public Set<EditorsSplitters> getAllSplitters() {
     HashSet<EditorsSplitters> all = new LinkedHashSet<EditorsSplitters>();
-    if (PreviewPanel.isAvailable()) {
-      initUI();
-      EditorWindow window = myPreviewPanel.getWindow();
-      if (window != null) {
-        all.add(window.getOwner());
-      }
+    EditorWindow previewWindow = getPreviewWindow();
+    if (previewWindow != null) {
+      all.add(previewWindow.getOwner());
     }
     all.add(getMainSplitters());
     Set<DockContainer> dockContainers = myDockManager.getContainers();
     }
     all.add(getMainSplitters());
     Set<DockContainer> dockContainers = myDockManager.getContainers();
@@ -262,6 +259,13 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
     }
   }
 
     }
   }
 
+  @Nullable
+  private EditorWindow getPreviewWindow() {
+    if (!PreviewPanel.isAvailable()) return null;
+    initUI();
+    return myPreviewPanel.getWindow();
+  }
+
   private static class MyBorder implements Border {
     @Override
     public void paintBorder(@NotNull Component c, @NotNull Graphics g, int x, int y, int width, int height) {
   private static class MyBorder implements Border {
     @Override
     public void paintBorder(@NotNull Component c, @NotNull Graphics g, int x, int y, int width, int height) {
@@ -643,8 +647,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec
     }
 
     if (wndToOpenIn == null || !wndToOpenIn.isFileOpen(file)) {
     }
 
     if (wndToOpenIn == null || !wndToOpenIn.isFileOpen(file)) {
-      initUI();
-      EditorWindow previewWindow = PreviewPanel.isAvailable() && myPreviewPanel != null ? myPreviewPanel.getWindow() : null;
+      EditorWindow previewWindow = getPreviewWindow();
       if (previewWindow != null) {
         wndToOpenIn = previewWindow;
       }
       if (previewWindow != null) {
         wndToOpenIn = previewWindow;
       }