Project: Eclipse_Platform_UI
Bug 45740 [Decorators] Issue with the Lightweight Decorator label update policy
Reported: 2003-10-29 12:34:43 | Status: closed fixed

There is an issue with the lightweight decorators that involves a poorly behaved content provider (in our case, the compress folder content provider in the sync view). Here is the sequence of events. 1) A single resource is changed and triggers a label change. 2) All views (content providers) are told to update the label for that resource 3) The poorly behaved content provider does a refresh on a whole subtree (in response to the delta) because the implementor was too lazy to figure out how to map the update properly on to the compress folder structure (it was me so I can say that and we are planning to fix this for M5). 4) The decorator calculates all the new decorations and tells all views to update the labels for all the refreshed resources. As I mentioned, we are planning to fix the particular content provider that caused the problem. Furthermore, we can ensure that all content providers in the SDK are well behaved. However, it concerns me that any ill behaved content provider in a product built on top of the SDK can have such an effect on the system. Perhaps it would be possible to handle the two cases differently (i.e. a resource/logical resource change vs. a request for a decoration).

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java