On Mon, 19 Dec 2022 15:50:19 GMT, Lukasz Kostyra <[email protected]> wrote:
> Creating a not-displayed node and then modifying its contents caused JFX to
> not consume its old dirty region and thus not update it. When such node was
> displayed, its old dirty region was used for drawing, which in some cases
> (ex. new content taking more space - a Label having more text as in bug
> request) caused it to clip.
>
> Resolved by always unionizing dirty regions with new bounds when calculating
> Node's transformed bounds.
>
> Change was tested on macOS and Windows 10 and does not affect any tests.
The change looks good.
Verified the computed `dirtyBounds` with and without the change. They look as
expected.
I shall test more with some apps(Ensemble).
Providing one minor suggestion.
modules/javafx.graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java line
335:
> 333: } else {
> 334: // TODO I think this is vestigial from Scenario and will
> never
> 335: // actually occur in real life... (RT-23956)
The comments should be removed and updated to explain the scenario when flow
enters the else block and I think RT-23956 can be closed with this fix.
-------------
Changes requested by arapte (Reviewer).
PR: https://git.openjdk.org/jfx/pull/978