Project: Eclipse_Platform_UI
Bug 130340 [Decorators] lightweight decorator blinking problem
Reported: 2006-03-03 11:45:59 | Status: verified fixed

Mylar uses a lightweight to indicate interest level for any structured viewer (e.g. the most interesting java elements are bold in the Package Explorer). The problem is that when a refresh is requested (e.g. markers change), the elements become unbolded, then bolded again when they're decorated. This is additionally aggrevated by the fact that the pause while they blink can be well over a second because the decoration job priority is so low. A more severe version of this problem shows up when a downstream plug-in (Visual Source Safe is the only one we know of) calls overly frequent refresh/decoration on the Package Explorer. The bold/unbold blinking can be continuous during check-outs and background refreshes. This problem is not Mylar-specific, but should manifest for anyone who uses bold font in a lightweight decorator. Is there a way that the font, text, and image from the last decoration could be preserved until the decoration happens and not disappear when the refresh happens? It seems that this would give behavior that's consistent with a regular decorator and be safe to downstream plug-ins causing this sort of blinking.

Files changed in fix:
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabel.java