Bug 465504 - Platform UI SVG icon renderer disabled filters are not thread safe
Summary: Platform UI SVG icon renderer disabled filters are not thread safe
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.5   Edit
Hardware: PC All
: P3 minor (vote)
Target Milestone: 4.5 M7   Edit
Assignee: Tony McCrary CLA
QA Contact:
URL:
Whiteboard:
Keywords: greatfix
Depends on:
Blocks:
 
Reported: 2015-04-26 14:14 EDT by Tony McCrary CLA
Modified: 2015-04-30 03:28 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tony McCrary CLA 2015-04-26 14:14:53 EDT
In Bug 426025 it was discovered the jhlabs filters used for disabled icons are not internally thread safe. The filters use static global variables for look up tables and other purposes.

This could cause artifacting when rasterizing the disabled icon set, as shown in the linked bug.

The solution is to instantiate the filters once per worker thread.
Comment 1 Eclipse Genie CLA 2015-04-26 14:26:55 EDT
New Gerrit change created: https://git.eclipse.org/r/46519
Comment 2 Tony McCrary CLA 2015-04-26 14:42:50 EDT
The jhlabs LUT variables weren't actually static but unsynchronized, lazily instantiated state (obviously static variables would still be an issue with this fix).
Comment 4 Lars Vogel CLA 2015-04-28 03:33:02 EDT
Great work Tony, thanks
Comment 5 Eclipse Genie CLA 2015-04-29 19:14:47 EDT
New Gerrit change created: https://git.eclipse.org/r/46824
Comment 6 Tony McCrary CLA 2015-04-29 19:56:01 EDT
The icon renderer was not appending the .png suffix to filtered disabled icons, this fixes that.
Comment 8 Lars Vogel CLA 2015-04-30 03:28:56 EDT
Thanks Tony