On Thu, 16 Jan 2025 22:46:39 GMT, Andy Goryachev <[email protected]> wrote:
>> Good to know, we should document your solution in more detail (and with the
>> concrete fix -> code snippet from the RTA) together with the HSB bug as a
>> new ticket probably? Then we may already have a potential solution with
>> code, and of course a ticket that tracks the bug, if we do not have already
>> (I think I saw a similar bug already, but not 100% sure).
>
> VFlow LL1529-1555
>
>
> // scroll bars
> boolean vsbVisible = useContentHeight ?
> false :
> (topCellIndex() > 0) ?
> true :
> (arrangementHeight + contentPaddingTop +
> contentPaddingBottom) > viewPortHeight;
>
> if (vsbVisible != vscroll.isVisible()) {
> vscroll.setVisible(vsbVisible);
> // do another layout pass with the scrollbar updated
> layoutCells();
> return;
> }
> if (vsbVisible) {
> width -= vsbWidth;
> }
>
> boolean hsbVisible = (wrap || useContentWidth) ?
> false :
> (unwrappedWidth + contentPaddingLeft + contentPaddingRight) >
> viewPortWidth;
>
> if (hscroll.isVisible() != hsbVisible) {
> hscroll.setVisible(hsbVisible);
> // do another layout pass with the scrollbar updated
> layoutCells();
> return;
> }
>
>
>
> https://github.com/andy-goryachev-oracle/jfx/blob/d07d408fa79e25a02b0d5e2f9aeb3990a7136077/modules/jfx.incubator.richtext/src/main/java/com/sun/jfx/incubator/scene/control/richtext/VFlow.java#L1529
Thanks. That makes sense IMO. Can probably also be applied to the `VirtualFlow`.
Just need to be careful that we never can run in a stack overflow ofc. :)
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1644#discussion_r1919766327