Bug 450530 - [team] NPE in ResourceModelContentProvider.getTraversals
ISynchronizationScope.getTraversals(ResourceMapping) can return null, so
code using it should check for null.
Change-Id: I79bd627c87917f2700e98f1c23dadf47d1128e33
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ResourceModelContentProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ResourceModelContentProvider.java
index bbf291f..83e029d 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ResourceModelContentProvider.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ResourceModelContentProvider.java
@@ -166,6 +166,9 @@
if (scope.contains(resource)) {
List<ResourceTraversal> result = new ArrayList<>();
ResourceTraversal[] traversals = scope.getTraversals();
+ if(traversals == null) {
+ return result.toArray(new ResourceTraversal[result.size()]);
+ }
for (int i = 0; i < traversals.length; i++) {
ResourceTraversal traversal = traversals[i];
if (traversal.contains(resource)) {
@@ -209,7 +212,9 @@
mapping = scope.getMapping(element);
if (mapping != null) {
ResourceTraversal[] traversals = scope.getTraversals(mapping);
- result.addAll(Arrays.asList(traversals));
+ if(traversals != null) {
+ result.addAll(Arrays.asList(traversals));
+ }
}
}
}