| Summary: | Preferences compatibility Preferences.IPropertyChangeListeners receive event of wrong type via PreferencesForwarder | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | James Blackburn <jamesblackburn+eclipse> | ||||
| Component: | Runtime | Assignee: | platform-runtime-inbox <platform-runtime-inbox> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | dj.houghton | ||||
| Version: | 3.7 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
James Blackburn
Created attachment 191923 [details]
test 1
Test for the issue.
Unfortunately this is a known issue. There is a reference here in an old doc: http://www.eclipse.org/eclipse/platform-core/documents/user_settings/pref_apis.html It was a consequence of trying to jump through hoops to maintain backwards compatibility but still move forward. At the time there were 3 APIs that we needed to play nice together. So we determined that it was best to update the old javadoc and move forward with the new API. (which contained un-typed values and was similar to the APIs in OSGi and the JDK) Ok, thanks. In the case of the example it would be possible to fire an event of the right type as I'm explicitly doing a typed put: InstanceScope.INSTANCE.getNode(ResourcesPlugin.PI_RESOURCES).putBoolean(RefreshManager.PREF_LIGHTWEIGHT_AUTO_REFRESH, true); However as it's been this way for so long (and no one else has complained) perhaps I was unlucky in writing code that expected this. |