Hi, Semyon.
As far as I understand from the bug description, the method
DesktopProperty.updateUI() is called on the different EDT? Does it mean
that we share the same DesktopProperty object across different
Appcontext? (if not then probably we can skip the usage of Appcontext
and change the field to non-static)?
If the Appcontext is necessary, then we should not use interned string
as a key, I suggest to use the simple new Object(), so it will not be
accessible outside of this class.
On 21.04.16 16:56, Alexandr Scherbatiy wrote:
The fix looks good to me.
Thanks,
Alexandr.
On 4/21/2016 6:22 AM, Semyon Sadetsky wrote:
Hello,
Please review fix for JDK9:
bug: https://bugs.openjdk.java.net/browse/JDK-8046031
webrev: http://cr.openjdk.java.net/~ssadetsky/8046031/webrev.00/
Under the Windoew LnF when the native Windows theme is changed some
java frames remains unchanged if there are several application
contexts. The thing is the DesktopProperty#updatePending flag that
prevents to run more then one UI update operation is shared between
different applications contexts while they may be updated with the
property change concurrently from different EDT threads so they may
loose the update.
To avoid this mutual interference the updatePending is moved from the
global to the application context scope.
The test would require to write native code so the issue is labeled
noreg-hard.
--Semyon
--
Best regards, Sergey.