1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-25 01:45:33 +02:00

bug 261211

This commit is contained in:
Vivian Kong 2009-01-16 14:49:39 +00:00
parent 19a25b2054
commit 9bc3398966

View file

@ -20,6 +20,7 @@ import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IProjectNature;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
public class CProjectNature implements IProjectNature {
@ -55,17 +56,24 @@ public class CProjectNature implements IProjectNature {
*
*/
public static void addNature(IProject project, String natureId, IProgressMonitor monitor) throws CoreException {
IProjectDescription description = project.getDescription();
String[] prevNatures = description.getNatureIds();
for (String prevNature : prevNatures) {
if (natureId.equals(prevNature))
return;
}
String[] newNatures = new String[prevNatures.length + 1];
System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
newNatures[prevNatures.length] = natureId;
description.setNatureIds(newNatures);
project.setDescription(description, monitor);
try {
if (monitor == null) {
monitor = new NullProgressMonitor();
}
IProjectDescription description = project.getDescription();
String[] prevNatures = description.getNatureIds();
for (String prevNature : prevNatures) {
if (natureId.equals(prevNature))
return;
}
String[] newNatures = new String[prevNatures.length + 1];
System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
newNatures[prevNatures.length] = natureId;
description.setNatureIds(newNatures);
project.setDescription(description, monitor);
} finally {
monitor.done();
}
}
/**