On Wed, 5 Mar 2025 15:47:30 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>> Yes, using a custom property, or a wrapper, would solve this particular 
>> synchronization problem, although that wouldn't solve all of the problems. 
>> 
>> We would then be left with the problem that if the accessibility change 
>> listener did fire -- which necessarily happens on the FX app thread -- while 
>> the object was being set up on a background thread, the listener might try 
>> to modify properties that are being touched on the background thread. This 
>> is just another case of a more general problem we already have with 
>> animation, and which Andy fixed by not starting animation in a few places 
>> unless and until we are on the FX app thread.
>> 
>> So I think the solution Andy has chosen of deferring adding the listener is 
>> better than trying to fix the accessibility property, followed by fixing the 
>> listeners that use it, to be thread-safe.
>
> Thank you, @kevinrushforth .
> 
> Getting back to the rule of allowing Node construction from a background 
> thread but not "use", should we consider enforcing the thread access rules 
> for global and static objects (like Platform properties)?
> 
> In other words, constructing objects that might modify internal properties is 
> ok, but trying to access shared objects is not?
> 
> (maybe it's time to move the discussion out of this PR into the mailing list 
> perhaps?)

Enforcing the threading restriction when using properties is a larger 
conversation. If we want to have it, I agree it should be on the mailing list.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1697#discussion_r1981874992

Reply via email to