mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-42594 - NPE: StructureViewWrapperImpl.setFile
This commit is contained in:
@@ -19,10 +19,7 @@ package com.intellij.ide.impl;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.projectView.impl.ProjectRootsUtil;
|
||||
import com.intellij.ide.structureView.StructureView;
|
||||
import com.intellij.ide.structureView.StructureViewBuilder;
|
||||
import com.intellij.ide.structureView.StructureViewTreeElement;
|
||||
import com.intellij.ide.structureView.StructureViewWrapper;
|
||||
import com.intellij.ide.structureView.*;
|
||||
import com.intellij.ide.structureView.impl.StructureViewComposite;
|
||||
import com.intellij.ide.structureView.newStructureView.StructureViewComponent;
|
||||
import com.intellij.openapi.Disposable;
|
||||
@@ -34,7 +31,6 @@ import com.intellij.openapi.fileEditor.FileEditorProvider;
|
||||
import com.intellij.openapi.fileEditor.ex.FileEditorProviderManager;
|
||||
import com.intellij.openapi.fileEditor.impl.EditorWindow;
|
||||
import com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -183,10 +179,14 @@ public class StructureViewWrapperImpl implements StructureViewWrapper, Disposabl
|
||||
private void setFile(VirtualFile file) {
|
||||
boolean forceRebuild = !Comparing.equal(file, myFile);
|
||||
if (!forceRebuild && myStructureView != null) {
|
||||
StructureViewTreeElement treeElement = myStructureView.getTreeModel().getRoot();
|
||||
Object value = treeElement.getValue();
|
||||
if (value == null || value instanceof PsiElement && !((PsiElement)value).isValid()) {
|
||||
forceRebuild = true;
|
||||
StructureViewModel model = myStructureView.getTreeModel();
|
||||
// model is null for UML diagrams
|
||||
if (model != null) {
|
||||
StructureViewTreeElement treeElement = model.getRoot();
|
||||
Object value = treeElement.getValue();
|
||||
if (value == null || value instanceof PsiElement && !((PsiElement)value).isValid()) {
|
||||
forceRebuild = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (forceRebuild) {
|
||||
|
||||
Reference in New Issue
Block a user