diff options
author | Brian Vosburgh | 2013-08-09 23:10:59 +0000 |
---|---|---|
committer | Brian Vosburgh | 2013-08-09 23:12:09 +0000 |
commit | f7567bee1576268f382417a6a3954721621759b4 (patch) | |
tree | 4b53e3669c26511e0af05470359f4de765b18f42 /common/plugins | |
parent | 1381427bbc834a5859c27919d8ace7e9a11ee2f5 (diff) | |
download | webtools.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.java | 10 |
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) { |