From 19d6f419af8e26620ef478378218c189427d16c8 Mon Sep 17 00:00:00 2001
From: Szymon Ptaszkiewicz
Date: Fri, 21 Dec 2012 16:44:06 -0500
Subject: Bug 387898 - Wrong preference node created when starting
org.eclipse.jdt.debug.ui plugin
---
.../org.eclipse.equinox.preferences/META-INF/MANIFEST.MF | 2 +-
bundles/org.eclipse.equinox.preferences/pom.xml | 2 +-
.../core/internal/preferences/PreferencesService.java | 16 +++++++++-------
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
index 2d704ff56..a626155d5 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 @@ Manifest-Version: 1.0
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 e5c2c80b8..d2806b110 100644
--- a/bundles/org.eclipse.equinox.preferences/pom.xml
+++ b/bundles/org.eclipse.equinox.preferences/pom.xml
@@ -22,6 +22,6 @@
org.eclipse.equinox.bundles
org.eclipse.equinox.preferences
- 3.5.0-SNAPSHOT
+ 3.5.100-SNAPSHOT
eclipse-plugin
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 f6bc34cf1..0c66b2a01 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 @@ public class PreferencesService implements IPreferencesService {
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) {
--
cgit v1.2.3