don't access disposed project when handling tree node removal (EA-82039 - assert: ComponentManagerImpl.getPicoContainer)

This commit is contained in:
peter
2016-05-09 18:11:00 +02:00
parent a442c95824
commit 10b3500d3e
@@ -75,11 +75,11 @@ public class PsiTreeAnchorizer extends TreeAnchorizer {
@Override
public void freeAnchor(final Object element) {
if (element instanceof SmartPointerWrapper) {
ApplicationManager.getApplication().runReadAction(new Runnable() {
@Override
public void run() {
SmartPsiElementPointer pointer = ((SmartPointerWrapper)element).myPointer;
SmartPointerManager.getInstance(pointer.getProject()).removePointer(pointer);
ApplicationManager.getApplication().runReadAction(() -> {
SmartPsiElementPointer pointer = ((SmartPointerWrapper)element).myPointer;
Project project = pointer.getProject();
if (!project.isDisposed()) {
SmartPointerManager.getInstance(project).removePointer(pointer);
}
});
}