RFR: 8371067: RichTextArea: requestLayout by inline node doesn't reach VFlow
Andy Goryachev
angorya at openjdk.org
Thu Nov 20 16:16:06 UTC 2025
On Thu, 20 Nov 2025 13:20:45 GMT, Marius Hanl <mhanl at openjdk.org> wrote:
>> If I remember correctly from what I've traced, is that _requestLayout_ from the embedded node is propagating upwards until it reaches `TextCell` which extends a `BorderPane`. At this point _requestLayout_ in `Parent` invokes _markDirtyLayout_ with the **forceParentLayout** parameter/flag being **false** and the propagation stops.
>
> I know why. Because the `TextCell` is not managed.
> https://github.com/openjdk/jfx/blob/f87448ec156608527d77a4204e98e08052ffecd1/modules/jfx.incubator.richtext/src/main/java/com/sun/jfx/incubator/scene/control/richtext/TextCell.java#L70
>
> Therefore, this will be set:
> https://github.com/openjdk/jfx/blob/f87448ec156608527d77a4204e98e08052ffecd1/modules/javafx.graphics/src/main/java/javafx/scene/Parent.java#L1331-L1334
>
> Indeed, the `TextCell` will be handled as layout root, therefore not propagating any layout request further up.
> So the real problem is, that the `TextCell` is not managed.
>
> Otherwise the layout would be propagated to the `RichTextArea`, which can do the corresponding actions. So I would suggest looking into that.
Yes, this is by design. VFlow is the component that manages the text cells.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1975#discussion_r2546703726
More information about the openjfx-dev
mailing list