RFR: 8345348: CSS media feature queries [v21]
Michael Strauß
mstrauss at openjdk.org
Tue May 6 07:37:35 UTC 2025
On Mon, 5 May 2025 15:17:32 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Michael Strauß has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 30 commits:
>>
>> - Merge branch 'master' into feature/media-queries
>> - cssref doc
>> - Merge branch 'master' into feature/media-queries
>> - reorder fields
>> - remove ReadOnlyBooleanWrapper
>> - Scene preferences only actively observe platform preferences when the scene is showing
>> - formatting
>> - typo
>> - use equality instead of identity
>> - rename TokenStream methods
>> - ... and 20 more: https://git.openjdk.org/jfx/compare/498b7e4c...626a904d
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/application/preferences/PreferenceProperties.java line 184:
>
>> 182:
>> 183: for (DeferredProperty<?> property : deferredProperties.values()) {
>> 184: property.fireValueChangedIfNecessary();
>
> firing events from a synchronized method is a recipe for a lockup.
> JavaFX is still a single threaded toolkit (if we ignore the creation of certain objects aspect), why do we want to synchronize?
I've moved the `fireValueChangedIfNecessary` out of the synchronized block. We need the synchronized block as a memory barrier to see the latest value of the `effectiveValue` field, as we need to be able to read it from any thread.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1655#discussion_r2074888025
More information about the openjfx-dev
mailing list