On Mon, 19 Dec 2022 15:50:19 GMT, Lukasz Kostyra <lkost...@openjdk.org> 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