Community
Participate
Working Groups
With the Sirius-defined properties views installed/enabled: 1. Open a Sirius diagram. 2. Select the diagram itself (not an element inside of it). 3. In the properties view, select the "Rulers and Grid" legacy GMF tab: java.lang.IllegalArgumentException at org.eclipse.core.runtime.ListenerList.add(ListenerList.java:113) at org.eclipse.core.commands.common.EventManager.addListenerObject(EventManager.java:58) at org.eclipse.jface.preference.PreferenceStore.addPropertyChangeListener(PreferenceStore.java:106) at org.eclipse.gmf.runtime.diagram.ui.properties.sections.grid.RulerGridPropertySection.initWorkspacePropertyListener(RulerGridPropertySection.java:883) at org.eclipse.gmf.runtime.diagram.ui.properties.sections.grid.RulerGridPropertySection.setInput(RulerGridPropertySection.java:624) at org.eclipse.eef.properties.ui.legacy.internal.legacy2eef.EEFLegacySection.setInput(EEFLegacySection.java:151) at org.eclipse.eef.properties.ui.api.EEFTabContents$2.run(EEFTabContents.java:117) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173) at org.eclipse.eef.properties.ui.api.EEFTabContents.setInput(EEFTabContents.java:120) at org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage.processSelectionChanged(EEFTabbedPropertySheetPage.java:534) at org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage.access$0(EEFTabbedPropertySheetPage.java:508) at org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage$1.selectionChanged(EEFTabbedPropertySheetPage.java:247) at org.eclipse.eef.properties.ui.internal.page.EEFTabbedPropertyViewer.fireSelectionChanged(EEFTabbedPropertyViewer.java:117) at org.eclipse.eef.properties.ui.internal.page.EEFTabbedPropertyViewer.access$1(EEFTabbedPropertyViewer.java:115) at org.eclipse.eef.properties.ui.internal.page.EEFTabbedPropertyViewer$1.widgetSelected(EEFTabbedPropertyViewer.java:99) at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:242)
In the GMF RulerGridPropertySection, the following lifecycle is not supported: - new section - section#setInput - section#dispose - section#setInput again I have not yet identified why after the call to dispose we are still manipulating the object and not creating a new instance of this object if we need one.
I don't know why yet but calling EEFTabbedPropertyRegistry#getTabDescriptors(part, selection) can return EEFSectionDescriptors containing references to previously disposed EEFSection.
New Gerrit change created: https://git.eclipse.org/r/69438
Gerrit change https://git.eclipse.org/r/69438 was merged to [master]. Commit: http://git.eclipse.org/c/eef/org.eclipse.eef.git/commit/?id=2e175ceebd200bd8ef2689f9714f6c34369dc475
I believe this was actually fixed for 4.0 by the commit referenced above, but the ticket was not close so it was not verified.
Confirmed fixed on master, and was probably already OK for 4.0.
Available in Sirius 4.1.0, see https://wiki.eclipse.org/Sirius/4.1.0 for details.