Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDJ Houghton2008-01-17 14:21:07 +0000
committerDJ Houghton2008-01-17 14:21:07 +0000
commit32b1be6438c37973e6ba78674b769a5035dab67e (patch)
treea4aa0fb908939a4fa92583134c1e547a5596fd5e
parent1e44f9d99040546a188128c66b1d681470bad931 (diff)
downloadrt.equinox.bundles-R3_3_maintenance.tar.gz
rt.equinox.bundles-R3_3_maintenance.tar.xz
rt.equinox.bundles-R3_3_maintenance.zip
Bug 215519 - [Preferences] Some preferences are not crash safeR3_3_2R33x_v20080117R3_3_maintenance
-rw-r--r--bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java7
2 files changed, 8 insertions, 1 deletions
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
index 771f0a816..195a4bce8 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.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 982974b98..18015d99d 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 @@ public class PreferencesService implements IPreferencesService {
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();

Back to the top