[140486] Error in property sheet when add 2 of the same attribute
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySource.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySource.java
index 3f8ce7f..acf5cff 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySource.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySource.java
@@ -330,16 +330,20 @@
}
// be consistent: if there's metainfo, use *that* as the
// descriptor ID
+ descriptor = null;
if (attrDecl != null) {
- descriptor = createPropertyDescriptor(attrDecl);
- if (descriptor != null) {
- names.add(attrDecl.getNodeName());
+ String attrName = DOMNamespaceHelper.computeName(attrDecl, fNode, null);
+ if (!names.contains(attrName)) {
+ descriptor = createPropertyDescriptor(attrDecl);
+ if (descriptor != null)
+ names.add(attrName);
}
}
else {
- descriptor = createDefaultPropertyDescriptor(attr.getName());
- if (descriptor != null) {
- names.add(attr.getName());
+ if (!names.contains(attr.getName())) {
+ descriptor = createDefaultPropertyDescriptor(attr.getName());
+ if (descriptor != null)
+ names.add(attr.getName());
}
}
if (descriptor != null) {
@@ -374,6 +378,7 @@
if (!names.contains(attrName)) {
IPropertyDescriptor holdDescriptor = createPropertyDescriptor(attrDecl);
if (holdDescriptor != null) {
+ names.add(attrName);
descriptorList.add(holdDescriptor);
}
}