diff --git a/qt/org.eclipse.cdt.qt.core/plugin.xml b/qt/org.eclipse.cdt.qt.core/plugin.xml
index aa0f7908f27..08c187ec49d 100644
--- a/qt/org.eclipse.cdt.qt.core/plugin.xml
+++ b/qt/org.eclipse.cdt.qt.core/plugin.xml
@@ -91,4 +91,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java
index a6f9a7a8748..cb7d2610980 100644
--- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java
+++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/qt/core/QtNature.java
@@ -14,6 +14,7 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IProjectNature;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
public class QtNature implements IProjectNature {
private static final String ID = "org.eclipse.cdt.qt.core.qtNature";
@@ -27,7 +28,7 @@ public class QtNature implements IProjectNature {
}
}
- public static void addNature(IProject project) throws CoreException {
+ public static void addNature(IProject project, IProgressMonitor monitor) throws CoreException {
if (project.isOpen()) {
if (hasNature(project))
return;
@@ -35,8 +36,10 @@ public class QtNature implements IProjectNature {
IProjectDescription desc = project.getDescription();
String[] oldIds = desc.getNatureIds();
String[] newIds = new String[oldIds.length + 1];
+ System.arraycopy(oldIds, 0, newIds, 0, oldIds.length);
newIds[oldIds.length] = ID;
desc.setNatureIds(newIds);
+ project.setDescription(desc, monitor);
}
}
diff --git a/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java b/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java
index b06355f9e39..2c023b29ba2 100644
--- a/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java
+++ b/qt/org.eclipse.cdt.qt.tests/src/org/eclipse/cdt/qt/tests/BaseQtTestCase.java
@@ -18,6 +18,7 @@ import org.eclipse.cdt.core.testplugin.util.TestSourceReader;
import org.eclipse.cdt.qt.core.QtNature;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.NullProgressMonitor;
public class BaseQtTestCase extends BaseTestCase {
@@ -46,7 +47,7 @@ public class BaseQtTestCase extends BaseTestCase {
fCProject = CProjectHelper.createCCProject(projectName, "bin", IPDOMManager.ID_FAST_INDEXER);
fProject = fCProject.getProject();
- QtNature.addNature(fProject);
+ QtNature.addNature(fProject, new NullProgressMonitor());
fIndex = CCorePlugin.getIndexManager().getIndex(fCProject);
indexQObject_h();