Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Vosburgh2013-08-09 23:10:59 +0000
committerBrian Vosburgh2013-08-09 23:12:09 +0000
commitf7567bee1576268f382417a6a3954721621759b4 (patch)
tree4b53e3669c26511e0af05470359f4de765b18f42 /common/plugins
parent1381427bbc834a5859c27919d8ace7e9a11ee2f5 (diff)
downloadwebtools.dali-f7567bee1576268f382417a6a3954721621759b4.tar.gz
webtools.dali-f7567bee1576268f382417a6a3954721621759b4.tar.xz
webtools.dali-f7567bee1576268f382417a6a3954721621759b4.zip
fix intermittent NPE in ItemTreeStateProviderManager when adding or
renaming a project
Diffstat (limited to 'common/plugins')
-rw-r--r--common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/ItemTreeStateProviderManager.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/ItemTreeStateProviderManager.java b/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/ItemTreeStateProviderManager.java
index 2e7846d944..e3e77a675f 100644
--- a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/ItemTreeStateProviderManager.java
+++ b/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/ItemTreeStateProviderManager.java
@@ -58,8 +58,16 @@ public class ItemTreeStateProviderManager
// ********** tree content provider **********
+ /**
+ * We need a <code>null</code> check here because, when a project is
+ * renamed, the common viewer can be refreshed <em>before</em> we get the
+ * various change events, and the common viewer will call this method,
+ * passing the new project,* and we do not have the provider for the
+ * project yet.
+ */
public boolean hasChildren(Object element) {
- return this.getItemContentProvider(element).hasChildren();
+ ItemTreeContentProvider provider = this.getItemContentProvider(element);
+ return (provider != null) && provider.hasChildren();
}
public Object[] getChildren(Object parentElement) {

Back to the top