commit | d3f967e15958d601584d119ad0cef0d679ce8335 | [log] [tgz] |
---|---|---|
author | DJ Houghton <dj> | Thu Jan 17 17:06:45 2008 +0000 |
committer | DJ Houghton <dj> | Thu Jan 17 17:06:45 2008 +0000 |
tree | 73fa64147cdcca3c85b69bab6207d664340251ec | |
parent | ea0a5695818de00e95260cad482208f8495fa688 [diff] |
Bug 215677 - [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 7e9d516..7ebec26 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.1.qualifier +Bundle-Version: 3.2.2.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();