mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-03 23:25:26 +02:00
Fixed NPE when opening preference page for Working Sets
java.lang.NullPointerException at org.eclipse.cdt.internal.ui.workingsets.IWorkingSetProjectConfigurationFactory$Registry$1.compare(IWorkingSetProjectConfigurationFactory.java:180) at org.eclipse.cdt.internal.ui.workingsets.IWorkingSetProjectConfigurationFactory$Registry$1.compare(IWorkingSetProjectConfigurationFactory.java:1) at java.util.TimSort.countRunAndMakeAscending(TimSort.java:352) at java.util.TimSort.sort(TimSort.java:216) at java.util.Arrays.sort(Arrays.java:1438) Change-Id: Ibe91a679c876ed5f70f4f787188e13e52203466c Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
This commit is contained in:
parent
b44dbb9ea5
commit
f0f371b10d
1 changed files with 10 additions and 3 deletions
|
@ -170,16 +170,23 @@ public interface IWorkingSetProjectConfigurationFactory {
|
||||||
result = new String[0];
|
result = new String[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (String natureId : result) {
|
||||||
|
if (projectNaturePartOrdering.get(natureId) == null) {
|
||||||
|
// re-do nature cache. Some natures were added recently
|
||||||
|
projectNaturePartOrdering = computeProjectNaturePartOrdering();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
Arrays.sort(result, new Comparator<String>() {
|
Arrays.sort(result, new Comparator<String>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(String nature1, String nature2) {
|
public int compare(String nature1, String nature2) {
|
||||||
Set<String> required1 = projectNaturePartOrdering.get(nature1);
|
Set<String> required1 = projectNaturePartOrdering.get(nature1);
|
||||||
Set<String> required2 = projectNaturePartOrdering.get(nature2);
|
Set<String> required2 = projectNaturePartOrdering.get(nature2);
|
||||||
|
if (required1 != null && required1.contains(nature2)) {
|
||||||
if (required1.contains(nature2)) {
|
|
||||||
return -1; // required1 precedes required2
|
return -1; // required1 precedes required2
|
||||||
} else if (required2.contains(nature1)) {
|
} else if (required2 != null && required2.contains(nature1)) {
|
||||||
return +1; // required2 precedes required1
|
return +1; // required2 precedes required1
|
||||||
} else if (nature1.startsWith("org.eclipse.cdt.") //$NON-NLS-1$
|
} else if (nature1.startsWith("org.eclipse.cdt.") //$NON-NLS-1$
|
||||||
&& !nature2.startsWith("org.eclipse.cdt.")) { //$NON-NLS-1$
|
&& !nature2.startsWith("org.eclipse.cdt.")) { //$NON-NLS-1$
|
||||||
|
|
Loading…
Add table
Reference in a new issue