Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 40204

Summary: Views flash from decorator update but no change
Product: [Eclipse Project] Platform Reporter: Martin Aeschlimann <martinae>
Component: TeamAssignee: Michael Valenta <Michael.Valenta>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 2.1   
Target Milestone: 3.0 M8   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 35140    
Bug Blocks:    

Description Martin Aeschlimann CLA 2003-07-16 07:41:37 EDT
20030715

I reported ths already as bug 35140, but as bug 35140 is (mis-)used as a
placeholder for a feature request but this is really a annoying bug, I file it
again.

My opinion is that this a VCM decorator bug. Don't call
ILightweightLabelDecorator::decorate if you don't have anything to decorate.

1. In the preferences Workbench>Label Decorations turn CVS decorators on
2. In CVS>Label Decorations set all text settings to
'{name}{dirty_flag}'
and turn off all image decorations
3. Add an existing project with CVS (e.g. org.eclipse.jdt.ui)
4. In the package viewer expand a package node with many CU
5. The node opens, but is followed by a flash of all icons:
   Labels and images are the same, because all files are in sync
Comment 1 Michael Valenta CLA 2003-10-28 21:20:06 EST
We are currently making a pass through CVS to minimize the number of 
unneccessary decorator refreshes. We are also investigating possible solutions 
to bug 35140 to avoid flicker all together.

Your suggestion about not updating the decorators if the CVS decoration has a 
contribution is interesting but may not be practical. Unless I'm missing 
something, this would require us to prune the update list by calculating the 
decorator for every change resource before firing the event. However, for 
those resources that do have a decorator this would result in two decorator 
calculations for each resource: one by the CVS operation and one by the 
decorator thread (unless the intermediate decoration elements were cached 
which again is undesirable due to memory concerns). I will look into this as 
part of my investigation.
Comment 2 Michael Valenta CLA 2003-11-17 12:27:42 EST
Changes were made in M5 to minimize the events that generate decorator 
changes. All that remains is a solution to bug 35140. I'm leaving this open 
since we have a vested intetest in bug 35140.
Comment 3 Michael Valenta CLA 2003-12-11 10:22:58 EST
Tod has pushed this off until M7
Comment 4 Michael Valenta CLA 2004-03-22 19:34:18 EST
Fix was released by UI.