From 910b974927d2fa2a679b163d0b5c829d57d2dda7 Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Thu, 4 Sep 2014 12:43:57 +0400 Subject: [PATCH] IDEA-127739 Navigation Tab Stage 5 NPE fix --- .../impl/FileEditorManagerImpl.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java index 683341f985a6..8a224c9bd092 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl.java @@ -176,12 +176,9 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec public Set getAllSplitters() { HashSet all = new LinkedHashSet(); - 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 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) { @@ -643,8 +647,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Projec } if (wndToOpenIn == null || !wndToOpenIn.isFileOpen(file)) { - initUI(); - EditorWindow previewWindow = PreviewPanel.isAvailable() && myPreviewPanel != null ? myPreviewPanel.getWindow() : null; + EditorWindow previewWindow = getPreviewWindow(); if (previewWindow != null) { wndToOpenIn = previewWindow; }