diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index f98f2807013..1a42731d323 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,9 @@ +2004-03-09 David Inglis + + Don't error in CDescriptorManager.configure() when project is created twice with the same owner id. + + * src/org/eclipse/cdt/internal/core/CDescriptorManager.java + 2004-03-09 Alain Magloire Patch from Chris Wiebe diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptorManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptorManager.java index 43bdaec41cc..d1ffafcd83b 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptorManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptorManager.java @@ -105,9 +105,13 @@ public class CDescriptorManager implements IResourceChangeListener { if ( fDescriptorMap == null ) { fDescriptorMap = new HashMap(); } - if ( fDescriptorMap.get(project) != null ) { - IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, CCorePlugin.STATUS_CDTPROJECT_EXISTS, CCorePlugin.getResourceString("CDescriptorManager.exception.alreadyConfigured"), (Throwable)null); //$NON-NLS-1$ - throw new CoreException(status); + cproject = (CDescriptor) fDescriptorMap.get(project); + if ( cproject != null ) { + if ( !cproject.getProjectOwner().getID().equals(id) ) { + IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, CCorePlugin.STATUS_CDTPROJECT_EXISTS, CCorePlugin.getResourceString("CDescriptorManager.exception.alreadyConfigured"), (Throwable)null); //$NON-NLS-1$ + throw new CoreException(status); + } + return; } try { cproject = new CDescriptor(project, id);