Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-14 Thread Andy Goryachev
On Fri, 14 Feb 2025 16:23:58 GMT, Kevin Rushforth wrote: >> Although, having said that, the purpose of the cleanup is to clean up after >> the animation. So a better fix might be to put the entire if-else inside an >> `if (Platform.isFxApplicationThread())` test. > > Actually, no. It also calls

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-14 Thread Kevin Rushforth
On Fri, 7 Feb 2025 18:42:01 GMT, Andy Goryachev wrote: >> ## Root Cause >> Animation gets started in a background thread, which causes the animation >> handler to run in the FX application thread, thus creating simultaneous >> access to the control's fields (list of children in this case). >>

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-14 Thread Kevin Rushforth
On Fri, 14 Feb 2025 16:20:33 GMT, Kevin Rushforth wrote: >> If you mean two threads accessing this same TabPaneSkin instance, then >> that's not a valid case. JavaFX objects are not thread-safe when accessed >> from multiple threads. This bug (and the other related bugs fixed or under >> revie

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-14 Thread Kevin Rushforth
On Fri, 14 Feb 2025 16:12:27 GMT, Kevin Rushforth wrote: >> modules/javafx.controls/src/main/java/javafx/scene/control/skin/TabPaneSkin.java >> line 523: >> >>> 521: }; >>> 522: >>> 523: if (Platform.isFxApplicationThread() && >>> (closeTabAnimation.get() == Ta

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-14 Thread Kevin Rushforth
On Thu, 13 Feb 2025 12:45:20 GMT, Ambarish Rapte wrote: >> Andy Goryachev has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains two additional >> comm

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-13 Thread Ambarish Rapte
On Fri, 7 Feb 2025 18:42:01 GMT, Andy Goryachev wrote: >> ## Root Cause >> Animation gets started in a background thread, which causes the animation >> handler to run in the FX application thread, thus creating simultaneous >> access to the control's fields (list of children in this case). >>

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-12 Thread Ambarish Rapte
On Fri, 7 Feb 2025 18:42:01 GMT, Andy Goryachev wrote: >> ## Root Cause >> Animation gets started in a background thread, which causes the animation >> handler to run in the FX application thread, thus creating simultaneous >> access to the control's fields (list of children in this case). >>

Re: RFR: 8349098: TabPane: exception initializing in a background thread [v2]

2025-02-07 Thread Andy Goryachev
> ## Root Cause > Animation gets started in a background thread, which causes the animation > handler to run in the FX application thread, thus creating simultaneous > access to the control's fields (list of children in this case). > > ## Solution > Skip the animation. > > The fix is similar to

Re: RFR: 8349098: TabPane: exception initializing in a background thread

2025-02-07 Thread Kevin Rushforth
On Thu, 6 Feb 2025 23:20:30 GMT, Andy Goryachev wrote: > ## Root Cause > Animation gets started in a background thread, which causes the animation > handler to run in the FX application thread, thus creating simultaneous > access to the control's fields (list of children in this case). > > ##

RFR: 8349098: TabPane: exception initializing in a background thread

2025-02-06 Thread Andy Goryachev
## Root Cause Animation gets started in a background thread, which causes the animation handler to run in the FX application thread, thus creating simultaneous access to the control's fields (list of children in this case). ## Solution Skip the animation. The fix is similar to https://github.co