Bug 387898 - Wrong preference node created when starting
org.eclipse.jdt.debug.ui plugin
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
index 2d704ff..a626155 100644
--- a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.preferences; singleton:=true
-Bundle-Version: 3.5.0.qualifier
+Bundle-Version: 3.5.100.qualifier
Bundle-Activator: org.eclipse.core.internal.preferences.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.preferences/pom.xml b/bundles/org.eclipse.equinox.preferences/pom.xml
index e5c2c80..d2806b1 100644
--- a/bundles/org.eclipse.equinox.preferences/pom.xml
+++ b/bundles/org.eclipse.equinox.preferences/pom.xml
@@ -22,6 +22,6 @@
</parent>
<groupId>org.eclipse.equinox.bundles</groupId>
<artifactId>org.eclipse.equinox.preferences</artifactId>
- <version>3.5.0-SNAPSHOT</version>
+ <version>3.5.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
index f6bc34c..0c66b2a 100644
--- a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
+++ b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2011 IBM Corporation and others.
+ * Copyright (c) 2004, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -613,19 +613,21 @@
Preferences node = context.getNode(qualifier);
if (node != null) {
found = true;
- if (childPath != null)
+ if (childPath != null && node.nodeExists(childPath))
node = node.node(childPath);
result.add(node);
}
}
}
if (!found) {
- Preferences node = getRootNode().node(scopeString).node(qualifier);
- if (childPath != null)
- node = node.node(childPath);
- result.add(node);
+ Preferences node = getRootNode().node(scopeString);
+ if (node.nodeExists(qualifier)) {
+ node = node.node(qualifier);
+ if (childPath != null && node.nodeExists(childPath))
+ node = node.node(childPath);
+ result.add(node);
+ }
}
- found = false;
}
public void handleException(Throwable exception) {