diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java')
-rw-r--r-- | bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java | 14 |
1 files changed, 8 insertions, 6 deletions
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 6c441582c..05442fb31 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 @@ -604,19 +604,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; } @Override |