commit | 32b1be6438c37973e6ba78674b769a5035dab67e | [log] [tgz] |
---|---|---|
author | DJ Houghton <dj> | Thu Jan 17 14:21:07 2008 +0000 |
committer | DJ Houghton <dj> | Thu Jan 17 14:21:07 2008 +0000 |
tree | a4aa0fb908939a4fa92583134c1e547a5596fd5e | |
parent | 1e44f9d99040546a188128c66b1d681470bad931 [diff] |
Bug 215519 - [Preferences] Some preferences are not crash safe
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF index 771f0a8..195a4bc 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.2.100.qualifier +Bundle-Version: 3.2.101.qualifier Bundle-Activator: org.eclipse.core.internal.preferences.Activator Bundle-Vendor: %providerName Bundle-Localization: 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 982974b..18015d9 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
@@ -89,6 +89,13 @@ return; try { internalApply(tree, filters); + // save the preferences + try { + getRootNode().node(tree.absolutePath()).flush(); + } catch (BackingStoreException e) { + throw new CoreException(createStatusError(PrefsMessages.preferences_saveProblems, e)); + } + //this typically causes a major change to the preference tree, so force string sharing lastStringSharing = 0; shareStrings();