From 1c182d08691e41babd22cccc03f96bfc097c058d Mon Sep 17 00:00:00 2001 From: David Inglis Date: Thu, 15 Jul 2004 01:17:49 +0000 Subject: [PATCH] fixed npe --- .../src/org/eclipse/cdt/internal/core/CDescriptor.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptor.java index 66e01308294..a917a1f6fd5 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptor.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDescriptor.java @@ -558,8 +558,9 @@ public class CDescriptor implements ICDescriptor { return new IConfigurationElement[0]; } - public Element getProjectData(String id) throws CoreException { - NodeList nodes = getProjectDataDoc().getDocumentElement().getElementsByTagName(PROJECT_DATA_ITEM); + public synchronized Element getProjectData(String id) throws CoreException { + Document doc = getProjectDataDoc(); + NodeList nodes = doc.getDocumentElement().getElementsByTagName(PROJECT_DATA_ITEM); for (int i = 0; i < nodes.getLength(); ++i) { Element element = (Element)nodes.item(i); if (element.getAttribute(PROJECT_DATA_ID).equals(id)) @@ -567,9 +568,9 @@ public class CDescriptor implements ICDescriptor { } // Not found, make a new one - Element element = dataDoc.createElement(PROJECT_DATA_ITEM); + Element element = doc.createElement(PROJECT_DATA_ITEM); element.setAttribute(PROJECT_DATA_ID, id); - dataDoc.getDocumentElement().appendChild(element); + doc.getDocumentElement().appendChild(element); return element; }