Index: Eclipse UI/org/eclipse/ui/internal/commands/PreferenceCommandRegistry.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferenceCommandRegistry.java,v --- Eclipse UI/org/eclipse/ui/internal/commands/PreferenceCommandRegistry.java 25 Aug 2003 01:49:04 -0000 1.4 +++ Eclipse UI/org/eclipse/ui/internal/commands/PreferenceCommandRegistry.java 16 Sep 2003 15:56:24 -0000 @@ -20,6 +20,8 @@ import java.util.List; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.ui.IMemento; import org.eclipse.ui.WorkbenchException; import org.eclipse.ui.XMLMemento; @@ -34,6 +36,22 @@ PreferenceCommandRegistry(IPreferenceStore preferenceStore) { if (preferenceStore == null) throw new NullPointerException(); + + /* Attach a listener to make sure that a re-load is performed if the + * underlying preferences changes. + */ + preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() { + public final void propertyChange(final PropertyChangeEvent event) { + final String property = event.getProperty(); + if ((property != null) && (KEY.equals(property))) { + try { + load(); + } catch (final IOException e) { + e.printStackTrace(); + } + } + } + }); this.preferenceStore = preferenceStore; }