diff options
author | Alain Magloire | 2004-07-21 17:52:50 +0000 |
---|---|---|
committer | Alain Magloire | 2004-07-21 17:52:50 +0000 |
commit | 3293ea6f61d235dbdccf11087767b0b1b4bd1a18 (patch) | |
tree | 047bc6daae34f9822f00a5502b430eaf26a6e4cc | |
parent | a3ad6e779905720c6d56c1d5e155cd57fd5dcf36 (diff) | |
download | org.eclipse.cdt-3293ea6f61d235dbdccf11087767b0b1b4bd1a18.tar.gz org.eclipse.cdt-3293ea6f61d235dbdccf11087767b0b1b4bd1a18.tar.xz org.eclipse.cdt-3293ea6f61d235dbdccf11087767b0b1b4bd1a18.zip |
2004-07-20 Alain Magloire
Fix for PR 70449
* src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java
-rw-r--r-- | core/org.eclipse.cdt.core/ChangeLog | 4 | ||||
-rw-r--r-- | core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java | 21 |
2 files changed, 16 insertions, 9 deletions
diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index 603319c395f..fb32a63f8fb 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,7 @@ +2004-07-20 Alain Magloire + Fix for PR 70449 + * src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java + 2004-07-19 Vladimir Hirsl Implementation of HP-UX SOM binary parser. diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java index ccb50e061e8..f0a37368ea9 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/internal/filetype/ResolverModel.java @@ -748,7 +748,7 @@ public class ResolverModel implements IResolverModel { //---------------------------------------------------------------------- private boolean customProjectResolverExists(IProject project) { - Element data = getProjectData(project); + Element data = getProjectData(project, false); Node child = ((null != data) ? data.getFirstChild() : null); Boolean custom = new Boolean(false); @@ -762,16 +762,19 @@ public class ResolverModel implements IResolverModel { return custom.booleanValue(); } - private ICDescriptor getProjectDescriptor(IProject project) throws CoreException { + private ICDescriptor getProjectDescriptor(IProject project, boolean create) throws CoreException { ICDescriptor descriptor = null; - descriptor = CCorePlugin.getDefault().getCProjectDescription(project); + descriptor = CCorePlugin.getDefault().getCProjectDescription(project, create); return descriptor; } - - private Element getProjectData(IProject project) { + + private Element getProjectData(IProject project, boolean create) { Element data = null; try { - data = getProjectDescriptor(project).getProjectData(CDT_RESOLVER); + ICDescriptor desc = getProjectDescriptor(project, create); + if (desc != null) { + data = desc.getProjectData(CDT_RESOLVER); + } } catch (CoreException e) { } return data; @@ -780,7 +783,7 @@ public class ResolverModel implements IResolverModel { private ICFileTypeResolver loadProjectResolver(IProject project) { List assocs = new ArrayList(); ICFileTypeResolver resolver = new CFileTypeResolver(); - Element data = getProjectData(project); + Element data = getProjectData(project, false); Node child = ((null != data) ? data.getFirstChild() : null); while (child != null) { @@ -809,7 +812,7 @@ public class ResolverModel implements IResolverModel { } private void saveProjectResolver(IProject project, ICFileTypeResolver resolver) { - Element root = getProjectData(project); + Element root = getProjectData(project, true); Document doc = root.getOwnerDocument(); Node child = root.getFirstChild(); Element element = null; @@ -840,7 +843,7 @@ public class ResolverModel implements IResolverModel { } try { - getProjectDescriptor(project).saveProjectData(); + getProjectDescriptor(project, true).saveProjectData(); } catch (CoreException e) { CCorePlugin.log(e); } |