mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
NPE fix: FileEditor seem to be provided from the console view's editor. Obviously it doesn't have VirtualFile associated
This commit is contained in:
@@ -25,6 +25,7 @@ import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
import com.intellij.openapi.fileEditor.FileEditorManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
@@ -41,6 +42,7 @@ import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.HierarchyEvent;
|
||||
import java.awt.event.HierarchyListener;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author Eugene Belyaev
|
||||
@@ -100,7 +102,9 @@ public class StructureViewWrapperImpl implements StructureViewWrapper, Disposabl
|
||||
final DataContext dataContext = DataManager.getInstance().getDataContext(owner);
|
||||
final FileEditor fileEditor = PlatformDataKeys.FILE_EDITOR.getData(dataContext);
|
||||
if (fileEditor != null) {
|
||||
setFileEditor(fileEditor);
|
||||
if (Arrays.asList(FileEditorManager.getInstance(myProject).getSelectedEditors()).contains(fileEditor)) {
|
||||
setFileEditor(fileEditor);
|
||||
}
|
||||
}
|
||||
else {
|
||||
setModule(LangDataKeys.MODULE_CONTEXT.getData(dataContext));
|
||||
|
||||
+2
@@ -239,6 +239,8 @@ public class TextEditorProvider implements FileEditorProvider, DumbAware {
|
||||
|
||||
public StructureViewBuilder getStructureViewBuilder() {
|
||||
VirtualFile file = FileDocumentManager.getInstance().getFile(myEditor.getDocument());
|
||||
if (file == null) return null;
|
||||
|
||||
final Project project = myEditor.getProject();
|
||||
LOG.assertTrue(project != null);
|
||||
return StructureViewBuilder.PROVIDER.getStructureViewBuilder(file.getFileType(), file, project);
|
||||
|
||||
Reference in New Issue
Block a user