From 4f0221a98656d6204107ec2f3f7ec9579ed95959 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 10 Feb 2010 15:27:35 +0300 Subject: [PATCH] TreeUi: unhandled index not ready warning on update node descriptor --- .../ide/util/treeView/AbstractTreeUi.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index 46a6d1938e52..07d3a4f4baf8 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -780,8 +780,14 @@ public class AbstractTreeUi { } private boolean _update(NodeDescriptor nodeDescriptor) { - nodeDescriptor.setUpdateCount(nodeDescriptor.getUpdateCount() + 1); - return getBuilder().updateNodeDescriptor(nodeDescriptor); + try { + nodeDescriptor.setUpdateCount(nodeDescriptor.getUpdateCount() + 1); + return getBuilder().updateNodeDescriptor(nodeDescriptor); + } + catch (IndexNotReadyException e) { + warnOnIndexNotReady(); + return false; + } } private void assertIsDispatchThread() { @@ -1283,10 +1289,7 @@ public class AbstractTreeUi { passOne = getTreeStructure().getChildElements(element); } catch (IndexNotReadyException e) { - if (!myWasEverIndexNotReady) { - myWasEverIndexNotReady = true; - LOG.warn("Tree is not dumb-mode-aware; treeBuilder=" + getBuilder() + " treeStructure=" + getTreeStructure()); - } + warnOnIndexNotReady(); return ArrayUtil.EMPTY_OBJECT_ARRAY; } @@ -1315,6 +1318,13 @@ public class AbstractTreeUi { return passOne; } + private void warnOnIndexNotReady() { + if (!myWasEverIndexNotReady) { + myWasEverIndexNotReady = true; + LOG.warn("Tree is not dumb-mode-aware; treeBuilder=" + getBuilder() + " treeStructure=" + getTreeStructure()); + } + } + private void updateNodesToInsert(final ArrayList nodesToInsert, TreeUpdatePass pass, boolean canSmartExpand,