1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

2004-07-20 Alain Magloire

Fix for PR 70449
	* src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java
This commit is contained in:
Alain Magloire 2004-07-21 03:00:39 +00:00
parent e39e5fd9c1
commit e88b751962
2 changed files with 16 additions and 9 deletions

View file

@ -1,3 +1,7 @@
2004-07-20 Alain Magloire
Fix for PR 70449
* src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java
2004-07-16 Alain Magloire 2004-07-16 Alain Magloire
Fix for PR 70255 Fix for PR 70255

View file

@ -748,7 +748,7 @@ public class ResolverModel implements IResolverModel {
//---------------------------------------------------------------------- //----------------------------------------------------------------------
private boolean customProjectResolverExists(IProject project) { private boolean customProjectResolverExists(IProject project) {
Element data = getProjectData(project); Element data = getProjectData(project, false);
Node child = ((null != data) ? data.getFirstChild() : null); Node child = ((null != data) ? data.getFirstChild() : null);
Boolean custom = new Boolean(false); Boolean custom = new Boolean(false);
@ -762,16 +762,19 @@ public class ResolverModel implements IResolverModel {
return custom.booleanValue(); return custom.booleanValue();
} }
private ICDescriptor getProjectDescriptor(IProject project) throws CoreException { private ICDescriptor getProjectDescriptor(IProject project, boolean create) throws CoreException {
ICDescriptor descriptor = null; ICDescriptor descriptor = null;
descriptor = CCorePlugin.getDefault().getCProjectDescription(project); descriptor = CCorePlugin.getDefault().getCProjectDescription(project, false);
return descriptor; return descriptor;
} }
private Element getProjectData(IProject project) { private Element getProjectData(IProject project, boolean create) {
Element data = null; Element data = null;
try { try {
data = getProjectDescriptor(project).getProjectData(CDT_RESOLVER); ICDescriptor desc = getProjectDescriptor(project, create);
if (desc != null) {
data = desc.getProjectData(CDT_RESOLVER);
}
} catch (CoreException e) { } catch (CoreException e) {
} }
return data; return data;
@ -780,7 +783,7 @@ public class ResolverModel implements IResolverModel {
private ICFileTypeResolver loadProjectResolver(IProject project) { private ICFileTypeResolver loadProjectResolver(IProject project) {
List assocs = new ArrayList(); List assocs = new ArrayList();
ICFileTypeResolver resolver = new CFileTypeResolver(); ICFileTypeResolver resolver = new CFileTypeResolver();
Element data = getProjectData(project); Element data = getProjectData(project, false);
Node child = ((null != data) ? data.getFirstChild() : null); Node child = ((null != data) ? data.getFirstChild() : null);
while (child != null) { while (child != null) {
@ -809,7 +812,7 @@ public class ResolverModel implements IResolverModel {
} }
private void saveProjectResolver(IProject project, ICFileTypeResolver resolver) { private void saveProjectResolver(IProject project, ICFileTypeResolver resolver) {
Element root = getProjectData(project); Element root = getProjectData(project, true);
Document doc = root.getOwnerDocument(); Document doc = root.getOwnerDocument();
Node child = root.getFirstChild(); Node child = root.getFirstChild();
Element element = null; Element element = null;
@ -840,7 +843,7 @@ public class ResolverModel implements IResolverModel {
} }
try { try {
getProjectDescriptor(project).saveProjectData(); getProjectDescriptor(project, true).saveProjectData();
} catch (CoreException e) { } catch (CoreException e) {
CCorePlugin.log(e); CCorePlugin.log(e);
} }