Community
Participate
Working Groups
In my runtime workbench with export I20040219.from20040220_0948 Steps: - Java Browsing perspective - project org.junit (from CVS) - in Projects view, select junit.jar - in Packages view, switch from Flat to Hierarchical Layout -> Dialog "Error notifying a Preference change listener.". Log: org.eclipse.jface.util.Assert$AssertionFailedException: Assertion failed: at java.lang.Throwable.<init>(Throwable.java) at java.lang.Throwable.<init>(Throwable.java) at org.eclipse.jface.util.Assert$AssertionFailedException.<init>(Assert.java:54) at org.eclipse.jface.util.Assert.isTrue(Assert.java:168) at org.eclipse.jface.util.Assert.isTrue(Assert.java) at org.eclipse.ui.texteditor.ChainedPreferenceStore.handlePropertyChangeEvent(ChainedPreferenceStore.java:427) at org.eclipse.ui.texteditor.ChainedPreferenceStore.access$0(ChainedPreferenceStore.java:418) at org.eclipse.ui.texteditor.ChainedPreferenceStore$PropertyChangeListener.propertyChange(ChainedPreferenceStore.java:69) at org.eclipse.ui.plugin.AbstractUIPlugin$2.run(AbstractUIPlugin.java:263) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java) at org.eclipse.core.runtime.Platform.run(Platform.java) at org.eclipse.ui.plugin.AbstractUIPlugin$CompatibilityPreferenceStore.firePropertyChangeEvent(AbstractUIPlugin.java:260) at org.eclipse.ui.plugin.AbstractUIPlugin$1.propertyChange(AbstractUIPlugin.java:202) at org.eclipse.core.runtime.Preferences.firePropertyChangeEvent(Preferences.java:595) at org.eclipse.core.runtime.Preferences.setValue(Preferences.java:975) at org.eclipse.ui.plugin.AbstractUIPlugin$CompatibilityPreferenceStore.setValue(AbstractUIPlugin.java:456) at org.eclipse.jdt.internal.ui.browsing.PackagesView.switchViewer(PackagesView.java:499) at org.eclipse.jdt.internal.ui.browsing.PackagesView.access$0(PackagesView.java:492) at org.eclipse.jdt.internal.ui.browsing.PackagesView$LayoutAction.run(PackagesView.java:488) at org.eclipse.jdt.internal.ui.actions.MultiActionGroup$2.widgetSelected(MultiActionGroup.java:88) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1543) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1519) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:258) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:257) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:106) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:386) at org.eclipse.core.launcher.Main.basicRun(Main.java:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581)
Reproducible when switching from Hierarchical to Flat Layout. The JavaPlugin preference store returns false on contains("org.eclipse.jdt.ui.PackagesView.viewState") when Flat Layout is active. That is because no default value for this property is set. The ChainedPreferenceStore currently relies on the accuracy of contains(...) in order to determine the visible store. Will investigate for a general solution.
released Christof's patch for I20040224