From f7a62bc676534e14d40eb5a84f09d02f736b56e6 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 28 Sep 2017 16:37:44 +0300 Subject: [PATCH] do not access to the model from an obsolete command --- .../src/com/intellij/ui/tree/AsyncTreeModel.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java b/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java index 348038d5e774..63a91e7b5248 100644 --- a/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java +++ b/platform/platform-impl/src/com/intellij/ui/tree/AsyncTreeModel.java @@ -442,8 +442,14 @@ public final class AsyncTreeModel extends AbstractTreeModel implements Disposabl @Override public Node get() { started = true; - LOG.debug("background command: ", this); - return getNode(object); + if (isObsolete()) { + LOG.debug("obsolete command: ", this); + return null; + } + else { + LOG.debug("background command: ", this); + return getNode(object); + } } @Override @@ -543,7 +549,7 @@ public final class AsyncTreeModel extends AbstractTreeModel implements Disposabl @Override Node getNode(Object object) { Node loaded = new Node(object, model.isLeaf(object)); - if (loaded.leaf) return loaded; + if (loaded.leaf || isObsolete()) return loaded; if (model instanceof ChildrenProvider) { //noinspection unchecked