The JFace ColorRegistry (owned by IThemeManager) and the E4 CSS engine populate their values on parallel paths during workbench startup.
DecoratorManager runs its decoration jobs on a background job thread. If a decoration job computes a DecorationResult before the color registry entries for that decorator's color keys have been populated by the active theme, the decorator gets a default (or null) Color, which is what ends up cached on the TreeItem.
This can be the result:
I believe we need to way to tell the decorators to reload there colors, current implementation is : read onces, never update.
The JFace ColorRegistry (owned by IThemeManager) and the E4 CSS engine populate their values on parallel paths during workbench startup.
DecoratorManager runs its decoration jobs on a background job thread. If a decoration job computes a DecorationResult before the color registry entries for that decorator's color keys have been populated by the active theme, the decorator gets a default (or null) Color, which is what ends up cached on the TreeItem.
This can be the result:
I believe we need to way to tell the decorators to reload there colors, current implementation is : read onces, never update.