RFR: JDK-8269921 TextFlow: listeners on bounds can throw NPE while computing text bounds [v5]
Andy Goryachev
angorya at openjdk.org
Wed Oct 25 22:20:51 UTC 2023
On Wed, 25 Oct 2023 22:16:59 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Florian Kirmaier 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 five additional commits since the last revision:
>>
>> - Merge remote-tracking branch 'origjfx/master' into JDK-8269921-textflow-bug
>> - JDK-8269921
>> Reverted the change to the layout, so we can fix the main-bug without further discussions.
>> - Merge remote-tracking branch 'origjfx/master' into JDK-8269921-textflow-bug
>> - JDK-8269921
>> Added a copyright header
>> - JDK-8269921
>> Fixing a crash related to Text and TextFlow with bounds listeners
>
> modules/javafx.graphics/src/main/java/javafx/scene/text/Text.java line 359:
>
>> 357: if (spanBoundsInvalid) {
>> 358: GlyphList[] runs = getRuns();
>> 359: if (runs != null && runs.length != 0) {
>
> on a surface, this check looks ok.
>
> however, in getRuns(), Text:388 we have
>
> /* List of run is initialized when the TextFlow layout the children */
> getParent().layout();
>
> meaning that `textRuns` did not initialize even though the `getParent().layout();` was invoked - why?
I mean, are we missing another step?
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/564#discussion_r1372378133
More information about the openjfx-dev
mailing list