| Summary: | referenced configuration settings can disappear as a result of reconcile during load | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | James Blackburn <jamesblackburn+eclipse> | ||||
| Component: | cdt-core | Assignee: | James Blackburn <jamesblackburn+eclipse> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Doug Schaefer <cdtdoug> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 7.0 | ||||||
| Target Milestone: | 7.0.1 | ||||||
| Hardware: | PC | ||||||
| OS: | Linux-GTK | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Created attachment 173216 [details] fix 1 External settings can disappear, if, during a project load, settings from other external setting providers are reconciled in. The issue is that while settings are cached locally, the eager reconcile can remove settings for 'missing' projects which aren't yet imported. The attached patch fixes this in the simplest way by adding a cache of the settings exported from a configuration. This cache is used when fetching / discovering the settings in the referencing project config. This code is very complex for what it does: propagating setting between configurations. Hopefully we can take a deeper look at this with Andrew's re-think of how paths and symbols are stored and shared for 8.0.